Thursday, April 06, 2006

Google Page Creator

Google Labs has come up with another product called Google Page Creator

It's a cool tool specially aimed at people who want to host webpages of their own but don't know HTML or other scripting languages of the web. It has an in-place editor using which a nice looking page can be created within a few minutes.

I am working on my own web site using this. Will be publishing it after this weekend.

It's been a while... - III

Hmm... another 2 months have passed and still no updates to this site. Priorities changed, and I had to spend (and still spending) a lot of time to keep up with the technologies that my team is moving towards and on some pet projects.

I even have a account in Google Pages (see my next post about this). Working on a page on that as well. Will be publishing it after this weekend (hopefully).

Thursday, February 02, 2006

It's been a while... - II

Hmm.. more than 3 months w/o any updates. Spent more time on office work and study. Lately been spending most of my free time reading Star Wars comics.

Will try & keep up with what I have been doing RSN.

Sunday, November 06, 2005

It's been a while...

It's been a while since I did anything on this blog. Is my interest in blogging slowly fading away? Am I so busy that I can't write a couple of lines on this site?

Part of the latter is true. October has been a hectic month filled with tech interviews, dealing with new technology, and some management/non-technical books. As days pass, I will write reviews about some of these books. November started off with the Deepavali festival and me ending up sick for a couple of days :(

Hope things turn out to be good in the days to come...

Friday, October 07, 2005

When to Leave Your First IT Job

i-Technology Viewpoint: When to Leave Your First IT Job @ JAVA DEVELOPER'S JOURNAL

An article that talks about how a work environment should not be and how one should recognize those sings and start looking out for another job which offers benefits that the current company doesn't.

The first point the author makes is - don't work in cubicles. Look out for companies that provide offices rather than cubicles.

Hmm..., I am sitting in my cubicle, it's late night and was reading this article to think about something other than the problem I am trying to fix & deliver...

Is this the sign I should be looking out for? :)

Instiki - Simple, yet powerful

Instiki is a neat Wiki clone. The installation & setup process is so simple, that it doesn't even take a minute to setup the Wiki after one downloads it. All one needs is Ruby 1.8.1 or greater. It's simple, yet powerful.

I got to know about this from Ruby on Rails site.


How it does it?
* Two step installation: embedded web server (WEBrick) makes for easy installation
* One screen configuration

Feature list?
Basic features:

* Revisions: Follow changes on any page from birth. Easily rollback to an earlier revision
* Authors: Each revision is associated with an author, so you can see who changed what
* RSS feeds: track recently revised pages from an RSS aggregator

Other features

* Regular expression search: Quickly find deep info
* Exporting: Transport the entire wiki as HTML or wiki markup in a zip
* Multiple webs: Create separate wikis with their own namespace
* Password-protected webs: Keep private things private
* Reference tracker: Find pages linking to the current one
* Speed: all pages in memory (Uses Madeleine for persistence)
* Markup choices: Textile (default / Red Cloth), Markdown (Blue Cloth), and RDoc
* Internationalization: supports wiki words in latin, greek, cyrillic, and armenian characters
* Color diffs: Track changes through revisions

Protothreads: lightweight, stackless threads in C

Protothreads: lightweight, stackless threads in C: "Protothreads are extremely lightweight stackless threads designed for severely memory constrained systems, such as small embedded systems or wireless sensor network nodes. Protothreads provide linear code execution for event-driven systems implemented in C. Protothreads can be used with or without an underlying operating system."

Can software have opinions?

A nice article from Loud Thinking

"The core theme seems to be that it's considered arrogant on the part of the software builder to limit features, or decide not to implement them, on the basis of their believes in how the software should be used. In other words, some people want the maximum amount of flexibility in their software and then they will figure out how to use it best for themselves, thank you very much."

Friday, September 16, 2005

Microsoft LinQ

Now-a-days application programmers hear the term ORM used more often. ORM stands for Object Relational Mapping. Example: Hibernate, iBatis

In simple terms, they allow object oriented applications to look at relation data as another object on which methods can be called upon. The layer takes care of the database specific details, thus leaving the programmer to think clearly in terms of just the functional aspect.

Microsoft has come up with LinQ which promises this on their .NET platform.

The Language Integrated Query (LINQ) Project will offer an integrated programming experience, enabling developers to query object, relational and XML data directly from within C# and Visual Basic – without having to use multiple programming languages.

Project LinQ is to be shipped with newer versions of VS.

Things to note:
1.Set of specifications that define how queries are expressed in API form
2. Extends the .NET Framework to include language-integrated query operations
3. Two API’s: DLinq, for accessing relational, SQL-based data, and XLinq, for accessing hierarchical, XML-based data
4. Compile-time type checking, which lets developers know about errors as they're writing their queries

It has been in the making for half a decade.

101 LinQ samples (written in C#) are available here

Thanks to Gangadhar for the links +"Things to note" notes.

Monday, September 12, 2005

Back from Vacation

I am back from a long vacation. Haven't used the computer during the whole time, that by itself is a big time achievement. ;)

Will start to post within the next couple of days.

Sunday, August 28, 2005

Quote of the Week

A scientist builds in order to learn; an engineer learns in order to build
- Fred Brooks

Saturday, August 27, 2005

[Book] Debugging the Development Process

Debugging the Development Process by Steve Maguire (author of Writing Solid Code) is an excellent book that deals with "Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams" (from the back cover).

If Writing Solid Code is for programmers, then this one is for Managers, Leads, or yet to become Managers/Leads.

The book focuses on how to keep your team focused, motivated, set the right goals and not let unnecessary work/meetings, bad schedules stop them from doing their daily chores and much more.

Key Points:

  • Avoid anything that doesn't improve the product.
  • Always set detailed goals, priorities and quality bars for each project.
  • Fix bugs then and there, don't wait for time that will never come.
  • Use existing systems to assist you in the process.
  • Use negative feedback to achieve desirable results.
  • Always try to fix the root cause of the problem.
  • Determine the exact requirement before plunging into action.
  • Never commit, if you know you can't meet the dates.
  • Don't do something just to please everybody. You will jeopardize the product.
  • There ain't any such thing as free product or feature.
  • Don't implement a feature just for the heck of it.
  • Make sure it's worth the writer's time before asking for a report.
  • Use postmortem reports to improve your development process.
  • Make sure you have a clear agenda before calling for a meeting, and make sure the agenda/action items gets done.
  • Keep aggressive but attainable schedules.
  • Never allow an arbitary dealine jeopardize the product.
  • Break long-term projects into shorter, well-defined subprojects.
  • Kick your best programmers out of the group if they aren't growing/learning to a different group.
  • Provide on-the-spot feedback, don't wait for the annual performance review.
  • Programmers need to understand that writing bug-free code ain't easy, so they should do everything under their power to detect and prevent bugs.


UI Patterns and Techniques: Introduction

Written by Jenifer Tidwell (MIT alumni) this site discusses some common patterns in the interaction design some of which are suitable for both Web based and desktop applications. I haven't gone through the entire site throughly (just skimmed through them), I liked the patterns in the "Getting Input from Users" and "Showing Complex data".

HCI (Human Computer Interaction) has become a major subject in itself, as we started to depend on computers to do most of our work. Modern Design Patterns not just deals with programming/database related problems but also deals with the Look & Feel of the application among others.

This site classifies the UI patterns & techniques into
  • Organizing the Content
  • Getting Around
  • Organizing the Page
  • Getting Input from Users
  • Showing Complex Data
  • Commands and Actions
  • Direct Manipulation
  • Stylistic Elements

Each of the them answers the 3 questions - When, Why, How, followed by examples if applicable.

This is going to be published as a book titled "Designing Interfaces: Patterns for Effective Interaction Design" by O'Reilly Media publication (expected: late 2005)

Thursday, August 25, 2005

Google talks the Talk

Google announced Google Talk recently. Yes it's an IM (Instant Messenger) in the lines of Yahoo! messenger or MSN messenger.

It has a neat, simple interface. All you got to have is a GMail id for authentication purpose. It also supports voice calls to other computers. The quality of which is quite good.

Still in Beta, so I am expecting more features to be added before the full-fledged product is released.

As a side note, Google Desktop Search 2 (also in Beta) is fantastic with it's sidebar feature. The only thing I currently don't like in that is there is no "Remove All" feature in any of those tabs eg., Email - If I have 10 emails, currently I have to choose each of them and delete. The other problem is with the Auto-Hide feature - doesn't work most of the times.

Tuesday, August 23, 2005

State of Ajax: Progress, Challenges, and Implications for SOAs

The article talks about AJAX aligment with Web servies and SOA (AJAX uses XML as the standrard payload) and the implications of SOA.




Thanks to Gangadhar for the link.

Nice Reads - A list of blogs

A collection of blogs mostly written by well-known people in the Software industry such as Grady Booch, Martin Fowler, Steve Vinoski, and the likes.

Will add more to this as I come across them...

Tuesday, August 16, 2005

Quote of the Week

Successful people don't do different things, they do things differently.


As you can see the title has changed from "Quote of the Day" to "Quote of the Week" as I am running out of good quotes (doesn't mean that there aren't any available). This is also because I am just back from a short vacation and my mood hasn't still changed.

Monday, August 08, 2005

Ruby Quiz

Ruby Quiz is a weekly programming challenge for Ruby programmers with similar goals like the Python Challenge.

The Python Challenge

The site contains a set of riddles designed to provide an entertaining experience for people who are working with Python or for those who are learning the language. It also showcases the power of the Python modules & features.

Wednesday, August 03, 2005

Stroustrup: C++ Style and Technique FAQ

Bjarne's own collection of freqeuently asked questions which includes questions that deal with why certain features are not available in C++, and how certain features work.
  • Can I write void main()?
  • Why doesn't C++ have a final keyword?
  • How do I deal with memory leaks?