Friday, April 29, 2011

April 2011 - A Replay!

I just couldn't ask for more. What a month it has been! I'm suprised at the level of things I was able to do in just a matter of month. All credit goes my you people, readers of my blog. For all the things that I came up with you people were always there to give me feedback and keep me motivated. So, April 2011 isn't yet over. So am I.

This month saw the end of many beautiful things of my life.
  1. GSoC 2011
  2. VI Semester college life
  3. End semester practical examinations.
I don't know how to put it, but I'm sort of happy still. I did a lot of things this month -
  1. Got myself introduced to Elgg and its core.
  2. Created a SPAM detection plugin for Elgg 1.8
  3. Social semantic viewer was the start of this month's first facebook app
  4. iBlue - Semantic Extractor Engine was re-written from ground up to improve its performance.
  5. iBlue - Sentiment Analyzer, a simple implementation to test Bayesian filters using the Multi Domain Sentiment dataset
  6. Social Heat - This baby was just born today early morning in my Labs.
Social Heat, is my new application in development since yesterday evening. What it is, how it works, and other details will be out soon. I just want to give one thing away now - If you belong to kind of people who thinks, Social Networking is all crap, and Facebook is $hit. This little piece of code compiled together will sure revoultionize your business.


Tuesday, April 26, 2011

Sentiment Analysis - iBlue Component Preview

iBlue is fast evolving from a dream to a reality. After working on Semantic Web in depth for more than a week, I learnt many principles, theorems (I didn't even bother to study theorms' for my Maths papers), standards, and many more.

You might be had a look at my Spam Detection plugin for Elgg, here. It was during working for this, I came to know about Bayesian Filters and its usage in SPAM Detection, text classification, etc. It is one of fundamental machine learning techniques. Blah.. Blah.. You can find more details at the wikipedia - http://en.wikipedia.org/wiki/Recursive_Bayesian_estimation

Thats it with the introduction, and now I welcome you all to test drive my very first Bayesian filter implementation - Sentiment Analysis. It is every similar to the working of Semantic Extractor, except it gives only one information about the text.

Is the given text a positive feedback or negative?

It returns the final percentage of both the cases. So, just go ahead and give it a try.

Technical Specs for Nerds - The filter was trained using the test data from the dataset provided by Mark Dredze in their Multi-Domain Sentiment Dataset. I took around 25000 Amazon reviews from the dataset to train the filter, from multiple product categories.

Demo for : http://ashwanthkumar.in/labs/sentiment/sentiment.php - It uses the content from Mashable for Samsung Galaxy S Android Smart phone (Link: http://mashable.com/2010/07/26/galaxy-s-review/)

Any feedback is highly appreciated.

Saturday, April 23, 2011

Semantic Week

If my entire last week was with Elgg, this entire week was with Semantics. Semantics in various aspects, you should have already seen my Semantic Social Viewer (http://ashwanthkumar.in/labs/facebook/), did some really super stuff with Guruprasad S. Srivatsav for his final year project.

I've been looking around WWW for some Social Computing stuff, and things. Found a lot of new ideas, to work on this summer.

Most important of all my GSoC results are coming out on 25th of this month. As, I've already told, I've no hope for that at all. I got introduced to a guy, whom I check'd out to only find, that he has applied to the same Organization, and same topic as mine, with 150% more sophisticated profile. So, the dream of $5000 to fix my PC is all lost! Still, #elgg is always my best friend. I'll continue to contribute to Elgg always. I'm waiting the results to release my plugin.

So, nothing more interesting yet! Got my semester practicals coming up. Yeah, its the same procedure of Ctrl + C, & Ctrl + V and some 30 min vetti time waste. Pracs all over. Theory, is all ready to upfront me, while I ain't.

One more to go after this, count down started! =D

Thursday, April 21, 2011

Social Semantic Viewer - Facebook App

Update 26/04/2011 - Added Export Image option to the app. Now you can export your network as PNG and share it on FB.

Ladies and Gentlemen, please allow me to introduce - Social Semantic Viewer. Your next generation (kind of) IDE to your OpenGraph at Facebook. Okay.. Okay.. I get it!

Its YAVP (Yet Another vetti app) from me to kill time. It uses some of the most widely used open source components to help visualize your OpenGraph.


Login with your Facebook account, and click on the type of visualization you want to see. Currently system allows visualizing your friends and likes, but more will be added soon.

TODO:
  • Add a control box, that help you control the graph to decide what you want to visualize.
  • Add more common user actions. Currently system supports posting to any friends' wall.
  • Extend the Graph to Social Graph (Google), Twitter Graph, LinkedIn Connections and extend the same functionality to Elgg (Elgg is on the process).
Privacy Policy (No blah blah.. Please read on): We're not storing your graph or any personal details that help us identify you. 95% the processing are done at the client end. We crawl your graph on demand, and display them to you. Its a slow process actually.

All you've to do is to authorize the application, and click on Start Crawl link at the bottom of the screen, and you're good to go.




There you can see my graph being generated with 300+ friends on the screen. As we explore more, your graph might become a bit slower. We've tired our best to make Hardware Acceleration of Flash, and yet it might be a bit slower.

Known Issues: You might get some Error #1099 or Error undefined at times, after which please reload the page, it happens when you've slow internet connection or when FB Graph API server doesn't respond.

Any sort of feedback for the same is welcome.

Sunday, April 17, 2011

Elggified Week - 100%

Hey people, It was last week when I started working on SPAM Moderation plugin for Elgg 1.8. Since then a lot of improvements, exciting things been happening in my world.

Man, I just love it.

Officially, I'm a 100% Elggified developer. U got me Elgg!

In my SPAM Moderation plugin, I've integrated 2 external services (Akismet and Mollom), and 1 simple internal service that helps you validate any text with the list of keywords, that you've specified. I know, I know, it sounds a bit silly and simple, but thats a start right?

Okay, having my final internals this week, so no intense work for week(s) to come, I guess. I desperately need to cope up with my so-called syllabus.

Interesting things this week was:
  1. Wrote my first Elgg plugin, released it on GitHub and for the first time in my history, released an OSS (Licensed under OSS License).
  2. Got to implement them in a new server (for testing purposes actually =D)
  3. Learnt about some SPAM filtering techniques, to implement them off shelf. (Next Elgg plugin)
  4. Completed my long queued RECORD work for this semester, Hell Yeah!
  5. Learnt that there were 54 applications, from 46 students, and known 12 bug fixers, all this but only 3 slots, for Elgg in this year GSoC. (I actually completely lost hope!) - But, that doesn't make me hate it, rather I <3 Elgg even more now. :D
I haven't released the spam moderation (alpha) plugin to the community yet, should I do it? I'm a bit afraid and tensed to do that. Not much response from outside about that either.

Will this alone earn me a slot in GSoC for Elgg?

Hoping for the best! See ya, until next time, with more elggified updates.

Sunday, April 10, 2011

SPAM Moderation Elgg Plugin

Update 14/04/2011 - SPAM Moderation Plugin has been updated to support keyword based filtering, and Mollom SPAM filtering service is also integrated. Check out the github repo.

Today I started by journey with Elgg. I wanted to get used to the functioning of the system, so I was reading the Docs (http://docs.elgg.org/). When Mr. Akshat, asked me for a plugin that could do SPAM detection for content posted by students. So, I thought its time I dive in for some action with Elgg, and here is the outcome of 3 hours of Coding - A new SPAM Detection plugin for Elgg using Akismet web services.

To add a feather to the work, I feel so proud to say, this is a proposed project idea in Elgg for GSoC 2011. I do not know, if anyone is working on it. If so, please consider this to be your ground work.

I'll post it on my github and will also submit to Elgg community for feedback. Also note that this plugin is in pre-alpha stage. Only the blog posts are checked for spam. I'll add more content check in the upcoming days.

GitHub Repo - https://github.com/ashwanthkumar/spam_moderation

Friday, April 8, 2011

Final Proposal for GSoC

You can find my GSoC 2011 proposal here at (GSoC Official website) http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/achu/1.

You can download a copy of PDF from here (http://goo.gl/qzjTD)




Any comments are welcome. Please use the comment to let me know of them.

PS: This is just an update post.

- Ashwanth Kumar

Tuesday, April 5, 2011

Semantic Web dream with Elgg

In continuation to my previous post here, I've decided to come up with a new idea. Something, that Elgg and its community wants, sooner or later on the web. Allow me to introduce you to, "Elgg Graph". A graph that explains users, their posts, comments, activity, everything on the Elgg community anywhere around the world.

Basically, this is what I've in store for Elgg (during and post GSoC). Elgg Graph, is a local entity (site specific) that explains all the objects and their relationships. Probably we'll try to add a feature to visualize it by the admin at the admin panel (not now), like LinkedIn Inmaps, etc.

Once the graph is perfected, and things are set up, we need to build a solid strong API on top of it. Graph does not allow direct editing. We need to provide a web service on top of the existing structure to modify the content, or it can always be done online through web interface by the users.

Once the Elgg Graph with its API is done, only now we would be able to provide a perfect social application development platform on Elgg.

Some time later, we can try to set up a global repo, for the community to share their graph, and establish inter graph communication (this is when we provide true semantics to the end user) between them. This repo, can consume the graph in a format of Semantic Web like RDF, etc. Hence, with the permission of the site administrators, we can contribute the content to the LinkedData, which can be consumed by other apps and websites on the web, to increase their productivity for the user.

Of all this, I'm planning to implement the Elgg Graph, API, and provide web services to the basic graph operations for this GSoC. There was a project idea in Elgg Ideas page for RDF kind of stuff also, may be someone is already working on it. I'll try to implement the rest post GSoC 2011.

The idea or the dream, i've tried to explain is in very high level. Once I start working on the various aspects of these, I'll decompose them and keep you posted :)

Any comments, or feedback on this would be highly appreciated. As I mentioned earlier, I'm new to Elgg. I'm trying to discover new and interesting aspects of it, almost every day. If I'm missing out anything here, plz correct me.

Update: I'm also going to work on RDF content export for Elgg, with Jena TDB and Joseki for SPARQL end point.

- Ashwanth Kumar

Elgg - OpenGraph Protocol

Yet another proposal idea for GSoC 2011, Implementing OpenGraph Protocol for the site admins. You can enable OpenGraph plugin, which adds OpenGraph meta information to the site, which can later be consumed by a OG consumer. Any insights on the same?

To all the offline comments, Yes I'm desperate to do something BIG for Elgg.

PS: This is just a stub containing an idea, nothing more.

- Ashwanth Kumar

Saturday, April 2, 2011

Elgg - A Gentle Introduction (with GSoC 2011)

Well, i started the hunt for GSoC in 2007, and atlast found myself comfortable to participate this year. I've hardly 3 days left to submit the proposal, which i've not started working on. Before i continue, I would to introduce my new friend. Elgg, an OpenSource Social networking platform.

I was introduced to Elgg, last month by Google (Search), and wow, i found it on GSoC, and i started digging into it, its source code, made a couple of patches (didn't submit it though). This post is for getting comments regarding the proposal, that i'm going to make.

Elgg has a large and vibrant community online, many ppl contributing towards it, developing it, etc. Things going on good no problem at all. So, I thought, if Eucalyptus (Cloud OS - like in Ubuntu Server editions) is insipred by non-standard Amazon's Features for its S3, etc. Y not get inspired by Facebook for Elgg?

So, my proposal is going to be on making a solid platform for users to develop apps for Elgg powered community websites around the globe.

Imagine: A single app made can be used on any number of websites, round the globe and target more number of users (than Facebook.. may be?!).

It can be further extended (I would to work on this too), if multiple Elgg installs (on the internet) can communicate with each other, then a global presence for a user can be achieved. May be, Facebook wants to buy over Elgg some time in future, or may be start an Online Social N/W war?

I just love the code base of Elgg so much, I've decided to work towards this at any cost. Be it, getting selected for GSoC or not, I'm working on it, and the work has already begun. If i dont make into GSoC, you can see my Elgg (sense of freedom), evolving into iBlue Social soon.

Actual details, work tasks, designs, etc. coming soon.

Update: I've asked the Elgg Dev. community for their comments. If you happen to read the post, plz post your comments here too; I'll be following both. ;)

- Ashwanth Kumar