Yedda Twitter .NET / C# Library

This is a bit of shameless promotion but I think it’s worthwhile never the less :-)

One of the things I did lately on my day job (Yedda) was to integrate it with Twitter (check the integration here and add Yedda as your friend!).

Yedda is all about sharing and us sharing things like code with the rest of the world is no exception.

So, without further due, I’m proud to present the Yedda Twitter .NET / C# Library (you will see that it’s more of wrapper than a library… really ;-) ). The post about it in our Dev Blog is here and the details, source and binary are here.

The code is free as in beer and is provided on a “AS IS” basis.

If you have questions about the library, Twitter, C#, .NET, the API, the meaning of life etc, feel free to ask on Yedda.

Mono hosted inside SecondLife

I just read on the official Linden Blog that they have completed an initial version of hosting Mono within SecondLife.

What they have done is to compile the Linden Scripting Language (LSL) into Intermediate Language (IL) code and they automagically gain all the advantages of the .NET Runtime – Just In Time (JIT) compilation, advanced Garbage Collection and, hopefully, the ability to extend SecondLife with other .NET supported langauges (though that’s a personal wish ;-) having .NET so close to me – my Advanced .NET Debugging blog)

It seems the results are promising:

“The initial figures look good, with Mono executing LSL scripts between 300 and 500 times faster than the current LSL interpreter.”

Mono is an open source implementation of the .NET runtime as well as a C# compiler and some of the .NET Framework stack (including stack of its own free of patents and copyrights). It’s supported on Mac OSX, Linux and Windows, which makes it ideal for SecondLife since these are the 3 major platforms it is used by.
I wonder if they’ll use Mono throughout the SecondLife Viewer, or chose to use/host Microsoft’s .NET Runtime on Windows (which in some senses is far more advanced than Mono but only limited to Windows).

Having SecondLife tied to .NET on Windows will require everyone to get the .NET framework, while Mono can be compiled into (or linked) and be distributed with the normal SecondLife client (though I don’t think that should be a major problem).

Not having to learn yet another scripting language will greatly enhance the ability for everyone to enhance and create a better, more interesting and innovative SecondLife. That’s why it should be very important to be able to extend SecondLife without using LSL and using the full blown power of .NET and all of the .NET supported languages.
I’d be more than willing to help out, if needed (or at least checked into their source repository) :-).

Another MicroID plugin for WordPress

A reader of this blog, Nate Olson, just informed me that there is another WordPress plugin for MicroID and is written by Richard K. Miller (Thanks Nate!).

Richard’s plugin adds microid on the homepage (it uses the admin’s Email for that), on each of the posts (according to the Email of the post’s creator) and on each of the comments (according to the supplied URL and Email of each of the commentators).

Well… It’s a lot more than I have done :-), but I specifically didn’t want to use the Admin’s Email as the MicroID of choice for the homepage, mainly because I, for example, administer n WordPress blog for my friend. My Email is listed on the Admin, but he is the actual owner of the blog.

I’m considering adding the following features:

  • Add the ability to choose from the list of users, the user from which the MicroID of the homepage will be generated
  • Add a MicroID to each post page by using the posting user’s Email
  • Add a MicroID to each comment by using the commentator’s Email and the current page’s URL (including the anchor to the comment). Note that the commentator must provide the Email.
  • Enabling and disabling each one of these features from the configuration.

The benefits of adding a MicroID to each post page is that if you have a blog with multiple contributors, each will be able to claim their own post by using a service like claimID.

Having a MicroID on a comment will allow a user to claim the comment, which I know some people might want to do.

Do you think when creating a MicroID on comments, should the user have differnet MicroIDs on each comment, allowing the user to claim a specific post, or should the user have only one MicroID for all of the user’s comment?

What do you think? Do you have any other suggestion as to what to add?

OpenID Delegate Plugin for WordPress

Continuing my WordPress plugin frenzy and after release the MicroID WordPress plugin, I’m releasing another plugin, this time for OpenID delegation.

The plugin is named “OpenID Delegate” and you can read all the details and download it from here.

Q: So what’s this OpenID I’ve been hearing about?
A: According to OpenID.net:

OpenID is an open, decentralized, free framework for user-centric digital identity.

OpenID starts with the concept that anyone can identify themselves on the Internet the same way websites do-with a URI (also called a URL or web address). Since URIs are at the very core of Web architecture, they provide a solid foundation for user-centric identity.

What does it mean? Well, basically it means that if you have an OpenID account on an OpenID server and you are accessing an OpenID supported site (see the list of them here) you can use a special URI that your OpenID provider provides you and the password you have chosen to sign-up (and afterwards sign-in) to these sites.
That’s right. You’ll use the same URI and password to sign-in and up for all OpenID supported sites. This is also referred to in the enterprise (and the rest of the world) as Single Sign On or SSO for short.

Q: “So, what’s your OpenID Delegate plugin got to do with it?”
A: It’s quite simple. Assuming you run your own WordPress blog, wouldn’t it be cool to use your blog’s URL and the password provided by your OpenID provider as your URI of choice for signing in and up to OpenID supported sites? Yes it will!

Q: “But you could have just modified your theme and added the necessary meta tags…”

A: Yeap, I know could, but it’s much easier having it as a plugin, allowing me to replace themes without remembering that I’ve added these values to the head tag.

Q: “Where do I get an OpenID account?”

A: Well… you have a couple of ways. First, you might already have an OpenID account if you have an account at either WikiTravel, LiveJournal, DeadJournal, Zooomr, Technorati, etc (see the rest of the list here. Not all of these sites are OpenID providers though).
If you don’t have an account you can open a free one at myOpenID – a free OpenID provider.

The 3rd option you’ve got is to run your own server (not for the faint hearted).

It’s time to own your identity, but if you can’t really own it (i.e. run your own server) at least delegate it and make others think you do!

MicroID Plugin for WordPress

MicroID as the web site says is:

MicroID is a lightweight identity layer for the web, invented by Jeremie Miller (creator of Jabber). MicroID enables anyone to claim verifiable ownership over content hosted anywhere on the web (social networking sites, discussion forums, blogs, etc.). MicroID is not an authentication or single-sign-on service, just a straightforward method for identifying content ownership that complements existing technologies such as OpenID and microformats. The technology is radically simple and enables developers to build new and unique meta services with minimal effort.

So after all of this technical mambo-jambo, what can MicroID do for you?

MicroID for you, minus techno mambo-jamo
MicroID enables you to claim content that you have produced. In most new web sites of the “current” age of the Internet YOU, the user, creates the content. Since we all have multiple identities and multiple user names in different web sites, would it be great to have one trusted and verifiable way of saying that this and that content from this and that site is really something we have created?

There are services such as claimID which provides you with a way of claiming what’s yours.

The perks
So, where does this plugin comes in?

  • If you have your own WordPress blog and you want to add MicroID to it without the hassle of editing PHP files and dealing with HTML – this plugin is for you.
  • If you like to switch your themes oh so often – this plugin is for you.
  • If you would like to claim your content and show everyone the stuff you really want to show them and be proud of creating – this plugin is for you.

So, how do I get it?
You can get the plugin and instructions on how to install it and configure it (which is dead simple) by clicking here!

If you have have comments, ideas, thoughts or anything else, don’t hesitate to leave a comment on this post.

Google Ctemplate

I just saw that Google released the Google Ctemplate library.

While they do need to get some kudos for their efforts of releasing various code bits out as open source, I do have a problem with the Ctemplate library itself.

I don’t know when they wrote this library, but what I do know is that its yet another templating language to use. Why couldn’t they have used a standard language such as JavaScript (more exactly, ECMAScript) instead of inventing their own syntax? There are so many templating engines out there, why invent yet another one instead of trying to use an official syntax know by many?

Oh well, another templating engine bites the dust ;-)

Blindly go where all men has gone before

I ran into this post today.

It mainly talks about the extremes a great deal of developers “ping-pong” between during their life times. Catching the buzz words as they fly and instead of reviewing them and taking a few pointers that can enhance their current development procedure and cycle they just completely and utterly soak themselvs inside of it and forget anything else that existed before it.

I had the dubious luxury of assisting a project that it was simply frightening to send a few of the developers there to any software related conference (even a one day review). They would immediately get enlightened by whatever it is they heard in that conference and start changing every piece of code or procedure they know to accomodate the new “Torah” they were given in their imaginary “Mt. Sinai”.

For example, I worked with one developer that after returning from a design patterns course started to change every bit of code to accomodate some design pattern from the book. Sometimes she used the wrong design pattern just to use a design pattern no matter what.

The funny thing is, that most of these people are not that absolutist in their personal life, so what makes them to go to such extremes in their developer life?

I think that coding style, architecture style, understanding requirements and everything else related to the software industry is mostly gained by experience and experimentation.
Learn all you can and integrate with what you know and already have. That is the right path.

I personally think that before starting any big project, one must understand the requirements. After doing so it is usually best to evaluate various technologies and see if they can be used to accomodate the needs of the project.

Most infrastrucutres are tuned in the 80/20 way. They are tuned for 80% of the types of applications but are less tuned for 20% of the rest of the applications.
That is why, if your project has some special needs there is a true need in writing sample code that tests some issues that might be problematic in the project.

These are just my 2 cents on the matter. Read the link I gave. Its REALLY REALLY funny and educational.

AJAX

Its nice to see that MS has finally concluded that AJAX is a technology that is worthy of getting frameworktized into the .NET Framework :-)

If you don’t want to wait for “Atlas” and you need to use this technology in .NET Framework 1.1 I would like to suggest Ajax.NET written by Michael Schwartz.

It’s well designed and written piece of software which is now even open sourced (Thanks Michael!).

I’m sure MS will borrow a few things from it for “Atlas”.

Google’s Search APIs

I’ve been messing around lately with Google’s Search APIs including the Google Desktop Search (GDS) and Google Web Search (GWS).

This is part of some experimentations I’m performing in regards to productivity and search engine/applications.

I’ve wrapped both GDS and GWS APIs in a nice .NET assembly (source code in C#). Both of them have the same interface and can generate the result as a .NET DataSet, as an XMLDocument and return the raw format that is being returns from both GDS (string) and GWS (their result structure).

I think its useful for people that wants to access both searches in the same API and integrate this into their applications.

So… here it is.

Click Here Download GoogleSearch assembly (both source and binary)

Enjoy and don’t forget to send feedback!