Development Setup

I have been thinking a lot about a good and scalable development setup for small teams.That means, as team size grows, things don't have to be changed.

Server machine(s):-

I am planning to have all of these one server machine (IBM) in virtualized environment. Subversion and Trac can go in one VM, perhaps under Apache. Second VM can have Apache for web-apps, third VM can have mysql, fourth VM can have MailServer and ActiveDirectory/LDAP?

Do you think above makes sense?

Developer/Designer workstations:-

Though there should not be any restrictions on using a development IDE of choice, but I have realized if entire team uses same IDE things get far easier. The development workflow is easy, knowledge sharing and management is easy. Eclipse, which Aptana is based on, can be used for variety of projects.

Ubuntu is good operating system, I have been using for over one year, not regularly but quite often. There might be Windows/OSX boxes for designers.

Why do we need Apache and MySQL on each workstation?

I think, developers are more effective if they have their own sandbox. They can play with code freely, take certain risks and innovate. There is no harm done. We do face issues, when it comes to sync mysql data into local mysql instances, I think it can be done via some scripts.

Virtualization can be done on client and I am thinking to do it, specially for folks who are not comfortable with Linux, so they can be on Windows while they also have access to Linux VM, they are encouraged to use Linux VM. They can use Windows box (Host), if something is messed up in Linux VM and there is strict timeline that doesn't allow to fix VM.

Over the period, these developers would be comfortable with Linux and that is the time they can start using real Linux box :-)

These are some thoughts, I might be missing something here. I hope, I would write more in another post.

As you know, I have been on break and been thinking on all these things. BTW! I don't work with Yahoo! anymore, once I am done with break I have to figure out what to do. Perhaps, time to be in my own city and do something my own (consultancy, startup or something like that). Heh, that's news, if you have read so far :-)

Technorati tags: , , , , , , , , , , , , , ,

What is is an incredibly cool dynamic web 2.0 application, with a terrific modern design, that brings you a better way to search and watch YouTube videos. Not only but you can download YouTube videos!
This is basically adding functionality and experience to what "should be" there. The possibilities of the site reach far beyond that. It gives you the chance to create your own environment for watching video clips, saving them and sharing them with friends.

I liked the neat and clean interface, which is mostly done in AJAX (=DHTML), Flash Player is used to play videos from YouTube. Entire experience blends well and user-interface is pretty intuitive.
Features like video downloads in various formats (wmv, mov, mp4, zip, exe, etc) and smart/intelligent playlist creation are cool. increases the quality of user-experience, makes it easier to navigate, personalize, share and store the videos.
I thought to spread some words about, which is no doubt one of the coolest web-app, done on top of YouTube's platform and blurs the line between AJAX and Flash, as an user I didn't notice any difference when AJAX or Flash was in action.
BTW! This web application is created by the guys behind flashjester, if you are Flash vetran (like me ;-) ), you know what flashjester meant to us in those days, still means a lot to many today.
Technorati tags: , , , ,

Don't go dark - share your code as often as you can

I found some interesting reads via Hacker News.

I thought to put some sentences, which I understood from these posts:-

  • You are not your code.
  • Share your code for reviews, as often as you can
  • Accept code reviews/suggestions positively
  • Give positive and constructive criticism to your peers

Doing all of these would increase collaboration, better quality of code and understanding of requirements. All these things are good, so why not do it?
We all go through whatever has been said in those posts, where we feel like finishing/cleaning-up something before we could share, but soon or later we realize the importance of code-reviews.
For last many years, wherever I have worked, I have subscribed to all notifications lists for repositories (SVN, Perforce, etc) as well as development lists. This way, I could see what my peers are doing, which allowed me to learn more about the projects/products and also made me offer my two-cents wherever I could. I also expected to get reviews on my work, which I got a lot of times, and believe me it always helped me write better code resulting in better product.
In the end, a quote from the post (the first link above): You are not your code.


It's almost two months, I have not posted anything here as well as on mailing-lists (flex and others).

In case you are wondering, where am I? What I am up to? First of all, thanks for being concerned. I am doing well and currently taking a break while spending time with my family. This is the only such a long (a month or perhaps more) break in last five years, where I am taking time to be with my family. Even in summer of North India, which is not that pleasant compared to that of Pune/Bangalore, I am feeling good.

I think, I need some more time to relax, but I wish I could do that. I have to get back to work and resume things.

During this break, I am not away from programming, I am reading and sometimes writing code. I took break from IMs and emails, I would need to catch up with emails and online buddies when I get back.

If you have sent an email to me and still waiting for response, hope you understand now and don't mind the delay or no response from my side. Please accept my apologies.

In the end, I would like to share my excitement about Adobe Flash Player 10, which would have some kick-ass features, that it rocks.

Yahoo! Live Upcoming mashup is live

Another Yahoo! Live mashup which pulls data from Upcoming and shows on map. In this case, I used Yahoo! AJAX Maps instead of Yahoo! ActionScript 3.0 Maps.
Currently this mashup is being used on Yahoo! Live WMC site for World Music Conference (WMC).
You can see the mashup here. If you go to Yahoo! Live WMC site, you might notice my name there, Yahoo! Live guys are very kind to give the credit to me by putting my name there, though it's currently misspelled :-)
I generally don't do shameless boasting or self-promotion, but in this case I feel good that one of my mashup makes to Yahoo! Live page :-)
Technorati tags: , , , ,

Why not Adobe MAX in India? - My opinion

I read Vivek's post on this topic (Why not Adobe MAX in India). I want to add my two cents, probably a different perspective.

It would be great to have event like MAX in India but practically speaking, it might not be successful from organizers point of view. I have attended Macromedia MAX 2005 and noticed things which I have never seen in any Indian Flash/Flex events and others too (except a few). I am optimistic, it would notice similar thing in India, in future.

We hardly notice 70-80% attendance in most of the flex/flash/air events/group-meetings within a city. It would not be good idea to assume people would fly from different cities to attend a two-three days event? Only a few do, and did in initRIA - those guys are probably the right audience for MAX like event in India.
Let's not look the numbers that how many people are using flex/air for development? That way, there are thousands. Only a few of them show up in events probably they can afford time/money and have more motivation (networking, learning and other stuff) to be at events.

I don't mean to offend anyone by saying those who don't attend events are not passionate. There are practical reasons - we can't afford attending events due to time and money. We don't have to prove our passion by registering our presence in any such events or participating in any lists. We are passionate about the technology and programming, we can prove our passion by writing good code and building kick ass-applications. If we can afford time/money - we can participate in different ways (lists, events, group-meetings, etc).

Generally passionate guys do beyond the normal, there is a great example how someone(Gopal) vacated his house and used advance-refund to buy tickets for LCA 2007 - later he has to stay at his friend's place and office. Not many people (can) do that.

I am happy that Indian flex community is growing, but as said I would rather like to see the quality and passion instead of just numbers. I would love to see more contribution from Indian Flex community, including me. Contribution in form of code, projects, libraries, ideas and talks. I hate to say, many of us are still stuck writing code for what is required by client. Many of us just end up getting things done instead of pushing the limits. There are reasons for what we do now, that's how sometimes thing (market) work. This is the reality now, might be different after sometime.

Coming back to the topic, if someone/company organizes a event like MAX (like MAX in USA - that kind of scale), that person/company wants to make sure how successful it would be, considering all the costs involved and speakers (important key people) flying to speak and finding not enough (number and quality) audience?

Now above is my take why Adobe MAX (note - such large scale event) doesn't make sense in India, might make sense in coming years. But I am wondering, why does Adobe think about it? Probably following paragraphs, which I have observed/heard.

How many independent developers in India actually buy original software/license? They want to use a cool software but don't want to buy the software and they also don't prefer to use free software (FOSS or free as in bear)?

I know it's not directly related to the main topic, but probably it makes sense when you are talking about an event like MAX which is sponsored by Adobe
(which develops the technologies discussed in the event).

Adobe makes money in India through key accounts like IT/eLearning companies, (Bollywood/advertisement) studios/agencies and banks (for document management servers). Adobe doesn't see huge demand by individuals or smaller companies - anyway most of these use pirated version. Similar case, every second computer runs Microsoft Windows and most of times, pirated version, Microsoft doesn't seem to be bother much about because they make a lot of money from companies and government. What is motivation for companies like Adobe (not talking about Microsoft - they have motivation, relatively larger user-base where they can make more money by converting pirated to genuine) to organize events in India?

Adobe can look at it like this - Most of the companies in USA get their work done in India, the better ecosystem in India would lead more profits for Adobe in long term. Adobe currently pitches it's technologies to US companies via sales channels and those companies put the technologies as requirement for projects (which gets executed by Indian companies). That's how it works most of the time. Now there are support channels - Adobe Evangelists, sales/support guys in India and training partners - for Indian service companies, that's the another reasons not many of developers working in these companies show up in these events?

Whatever I have said so far is my opinion/observation/thoughts I am not judging anyone, neither Adobe nor the flex/air/flash community, here. I would love to be wrong, because as a passionate developer I would want many more events and better ecosystem in India.

It's a long post and with different thoughts, which might sound conflicting with each other. I have gone through various phases in my life and I have noticed different things. All summed together above. I used to travel long distances for half/full day events, even when I was not earning much. I used to be more active on lists/forums compared to what I am now. I think, there are different ways we all are passionate about any things, it all depends on various situations/circumstances. With easy Internet access today, compared to past, I am more connected than I was even after being to all those events. Apologies, if something is not clear - formatting or idea.

Phase of life - part 2

Around two years back, I was going through similar phase. Things have changed since then, though some new things have come up and some old ones are gone from the list.
I am going to sort out all the issues and bounce back. I would not be active on this blog or else-where until I fix things.
Just wanted to update here, so that you know I am not gone, I am very much here but sorting out issues which are blocking my way to reach where I want to be. I am not giving up.

Adobe Flex in India - Interview

Shashank Tiwari, principal architect at Saven Technologies and Oreilly network blogger, asked me of my views on Adobe Flex community in India and various other related things (jobs, startups, open source flex, java, ria, etc - all in the Indian context).

Check out my two-cents (Interview) on O'reilly network.

I would love to hear, what you guys think about it? Please let me know (comments, emails or IM).

Thanks to Shashank for giving me this opportunity to share my views with a larger community.

Technorati tags: flex, , , , , , , ,

Google Docs - Post to your blog

I just figured out, you can post to your blog using Google Docs. I love this feature because it solves following problems:

  • most of the times, I start writing something at home and end up posting using office computer or vice-versa
  • end up using some editing cum publishing software (not many are cross-platform - I always feel like writing Windows Live Writer clone in AIR)
  • VIM is handy for writing but who doesn't want a cross-platform WYSIWYG editor, which can generate valid xhtml?

Google Docs can post to most of the blogs (Blogger, Wordpress, MovableType, LiveJournal, etc).
Check out this article to learn - how to post to your blogs from Google Docs
BTW! This post is authored and published using Google Docs

Update (March 14, 2008): Google Docs is buggy, at least with Movable Type API, It didn't post the subject-title properly, I had to remove preview post

Technorati tags: , , ,

YouTube announces Upload API, Chromeless Player with JavaScript API and H.264 videos

YouTube has announced a lot of new features:-

This is really amazing, we can build kick-ass applications that would use YouTube's platform for media upload, conversion (trans coding) and delivery, seamlessly.

I am yet to confirm, how easy it is to load and control YouTube's player in our Flash/Flex apps? Controlling loaded SWFs is hard, unless it allows cross-site scripting through Security.allowDomain (""). I hope, some day Flash Player would have more Security APIs, which would let us expose a set of interfaces to loaders (SWF loads another swf from different domain).

In any case, we can overlay iframe/div to show the video. That's what I am doing for Yahoo! Live Mashup.

Update (March 12, 2008): YouTube's chromeless player can be loaded in Flash/Flex applications and can be controlled. That's what I heard Geoff Stearns, Flash Engineer in YouTube and SWFObject developer, saying in this video.

Technorati Tags: , , , , , , ,