April 11, 2007

Suggesting features for Gmail

Google is going around collecting new features that is to be added to Gmail. Looks like the next mega update that is around the corner is going to be for Gmail. And I would love to see some of them. You can suggest features here. All you have to do is check the features you google to add and put your innovative idea in the end!
The new feature list includes some interesting features like:
  • Rich text signatures
  • Ability to block a user from sending mail to your account
  • Hierarchy of Label system
  • Additional chat emoticons
  • Integration with other Google products
  • Add notes to messages
  • To-do list
  • Multi-person chat
  • Export messages to a CD for storage
  • ...
Lets see what all features are going to come out. But i am disappointed because Google calendar has not yet got a face lift (I wish it had "To-do list" and much more). The major feature I am looking forward to see in Gmail is integration with other Google products like Calendar,Picasa and Google Talk. Another Integration option Google missed out to mention in their list is to integrate google docs and spread sheets. I also wish we could have a better navigation method to other google services which is presently on top left corner!

Suggest you features for Gmail

April 09, 2007

Draft of BCC ( Bloggers Code of Conduct)

Tim O'Reilly recently called for a Blogger's Code of Conduct after some firestorm about violent and disturbing anonymous comments popping on one of the blogger's site. People have started contributing to a draft a Blogger's Code of Conduct. Here is the latest extract from the conduct:

1. We take responsibility for our own words and for the comments we allow on our blog.

We are committed to the "Civility Enforced" standard: we will not post unacceptable content, and we'll delete comments that contain it.

We define unacceptable content as anything included or linked to that:

  • is being used to abuse, harass, stalk, or threaten others
  • is libelous, knowingly false, ad-hominem, or misrepresents another person,
  • infringes upon a copyright or trademark
  • violates an obligation of confidentiality
  • violates the privacy of others

We define and determine what is "unacceptable content" on a case-by-case basis, and our definitions are not limited to this list. If we delete a comment or link, we will say so and explain why. [We reserve the right to change these standards at any time with no notice.]

2. We won't say anything online that we wouldn't say in person.

3. If tensions escalate, we will connect privately before we respond publicly.

When we encounter conflicts and misrepresentation in the blogosphere, we make every effort to talk privately and directly to the person(s) involved--or find an intermediary who can do so--before we publish any posts or comments about the issue.

4. When we believe someone is unfairly attacking another, we take action.

When someone who is publishing comments or blog postings that are offensive, we'll tell them so (privately, if possible--see above) and ask them to publicly make amends. If those published comments could be construed as a threat, and the perpetrator doesn't withdraw them and apologize, we will cooperate with law enforcement to protect the target of the threat.

5. We do not allow anonymous comments.

We require commenters to supply a valid email address before they can post, though we allow commenters to identify themselves with an alias, rather than their real name.

6. We ignore the trolls.

We prefer not to respond to nasty comments about us or our blog, as long as they don't veer into abuse or libel. We believe that feeding the trolls only encourages them--"Never wrestle with a pig. You both get dirty, but the pig likes it." Ignoring public attacks is often the best way to contain them.

Now the question is how will this work out? Will the Code of Conduct live up to for what it was created for? You can always find the latest draft and also contribute here.

Online publishing and collaboration

Some say Web 2.0 is dead. but I disagree! Its not dead, its just started and we have miles to go. Web 2.0 have started transforming the web into more social and globature (global culture). With many new ventures coming up, but I going to introduce two interesting sites I found.You may have used Google doc's that help to create/edit and collaborate the content you write. Definitely Google helps in sharing your content but these two sites are different. that's why they stand out!

1) OpenFloodgate is a open publishing arena. You can create your content and publish. The published content is for public view and you can try reading some interesting stories. The registration process is very simple. With email, name and password you can get started immediately after registration. All content that you create is called "Creation". To create you have to specify the title, format : what your content is (article,poem,story etc..),the language, a brief description. You can also select the category your content falls and who all can view your content.One missing feature in OpenFloodgate is the missing online editor. Presently you have to upload you content which should be PDF or MS-Word file. You also have a provision to add cover image for you content. To start discovering you creativity OpenFloodgate is not bad at all. You can join, create clubs and share your content with you club members. And ya... If you are still shy to publish, you can keep the content for yourself!

2) Storysquared is a typical publishing site where multiple people can contribute to the content. In short you start a story, others add into it and final somebody end it! The twist and turn can take to the limits of creativity. Try reading one of the public stories and you will find some really interesting! Here you need to have access in order to view the "story directory". You get a simple text editor where you can start your story. You can specify how long people can contribute to you story. After that relax and watch how the story flows ;)

The two sites are simple and are sure to attract more users if they add more facility. They lack proper user profiles and editors that will make the users content more realistic. I am sure these short comings will definitely be implemented and take online publishing further!

April 05, 2007

D Programming Language

D is a yet another object-oriented system programming language developed by Walter Bright of Digital Mars. After C and C++ in the field of system programming the next entry is D. D language has been designed from the practical knowledge of how C++ was used to solve different real life problems. It uses many C++ concepts but discards some concepts and have been influenced by concepts used in other programming languages, such as Java,C# and Eiffel.

The D language inherits many of the C++ features. The most highlighting feature is automatic memory management ( know as garbage collection ) . Another major change is C++'s multiple inheritance is replaced by Java style single inheritance, interfaces and mixins. Other changes are first class arrays, associative arrays, dynamic arrays and more. A comparison of D with languages like C++,Java and C# will help you get more details on features. Unlike newer languages like Java and C#, D is not a interpreted language and needs no runtime. Upon compiling the source code you get the executable file that runs without a runtime like JVM or .Net framework!

D language is a very new language. Its version 1.0 was released only on January 2, 2007 and is still under development. There are mainly two implementations of the complier available:
  1. DMD Compiler : the Digital Mars D compiler, the official D compiler by Walter Bright.
  2. GDC : GDC is a D language front end for the GNU Compiler Collection
I downloaded the DMD compiler and had a taste of D. I just downloaded the complier from the Digital Mars web site and extracted it. Upon extracting you will find six folders that contain the complier, library files, html and man documents, sample programs and source code of the DMD compiler. To get started I added the complier's path to my windows environment variable PATH and simply opened a notepad. With some help from the D language's wiki site.Here is my Hello world program in D :

import std.studio;
void main() {
writefln("Hello World");
}

To compile dmd . The file extension for D's source file is "*.d". I also tried changing the extension and compiling the code but it simple gave me an error! Thus I moved on to my next program. This time I made a program that is object oriented. There is the code:

import std.stdio;

class Test {
private int number;
private char[] name;

public:

//constructor
this(int n, char[] c) {
number = n;
name = c;
}

int getNumber() {
return number;
}

char[] getName() {
return name;
}

}

void main(char[][] args) {
writefln("A simple application:");

Test obj = new Test(142,"abdel");

writefln("Number: %d",obj.getNumber());
writefln("Name: %s",obj.getName());
}

One thing you can see here is that, D like C++ allows the programmer to follow the procedure oriented and is not a strict object oriented language like Java or C#. Another interesting concept I found is
D provides direct access to C runtime library functions and operating system API functions. You will find integration with SWT, GTK+ and much more. Ah, before I end you can find IDE plugins to many popular IDEs.

So is D language worth it when we have C, C++ for system and embedded programming? How will the programmer community take this language and to what extend will it change the programming world? But I don't know D is yet made a impression and many people are yet to know about it! What's your opinion?

April 03, 2007

Flex Atom reader

Here my first useful Flex application! For the past few week I have been building Flex applications that was not useful in any sense except that I got to learn hot to make use of different components, ActionScript etc. You can view the AtomReader from here and also download the source code.

AtomReader is a very simple feed reader that read the feed of Flex Team and display it. For now, the AtomReader just displays the summary and doesn't link to the appropriate blog entry. The next version of AtomReader will have following facilities:
  • User can enter any atom feed and view the result.
  • User can also click on the title a view the complete entry.
  • A better user interface than the first version.
Building my AtomReader was not easy for me! The major trouble was parsing the XML response that is received upon requesting the feed URL. What I intended was to parse the XML using the XML class and not using any available parsers. For unknown reason I failed and had to go for a simpler method to complete the application. Another problem faced during development was the usage of URLLoader and URLRequest classes. I will how these thing work in the coming days and the next version of AtomReader will have the above promised features.

Running Example : http://flexguide.googlepages.com/atomreader
Source Code : http://flexguide.googlepages.com/Atom.mxml