Archive

Archive for the ‘Programming’ Category

Don’t live with broken windows

November 24th, 2009 Abdul Qabiz Comments

Most of us have heard about “Don’t live with broken windows” or “Broken Window Theory” in software world, through books (Pragmatic Programmers by Andy Hunt and Dave Thomas, The Tipping Point by Malcolm Gladwell) and other sources (wikipedia, blogs, articles, etc).

Like many others, I have also experienced that Broken Window Theory applies to many business and personal-life (and many others) other than software-development.

Over the time I have read books and articles, as listed below to learn more and apply in day to day life. You might following links useful.

Another Common Early Start-up Mistake

In most common early start-up mistakes, Mark Suster talks about very interesting and insightful points. However, I feel like adding one more point, quite known but often taken granted, more specific to software or web start-ups.

If you are a software or web start-up, it’s really important to use the experience of founders (if they are come from technical background) or your core team to have following in order, as soon as possible.

Guidelines and best-practices: code, documentation (wiki), version-control (branching/tagging – when and how?), bug-tracking, testing (unit-tests, functional-tests), deployment, performance objectives and related stuff.

I would not go crazy (get distracted too much) about these initially but have these in place and encourage(mandatory – certain cases) everyone to contribute, follow, discuss and document. It’s lot easier to adapt things at an earlier stage rather than later.

I strongally recommend you to read Martin Fowler’s article Technical Debt to learn more about the importance of having things in order.

Available for consultancy, training and development

I am available for consultancy, training and development services. Following is the rough list of things, I can provide consultancy, training or development services for:-

  • ActionScript 1.0, 2.0, 3.0
  • Adobe Flash/Flex
  • Adobe Integrated Runtime (AIR)
  • Training on Adobe RIA technologies
  • Architecture for RIA
  • Web Application Development
  • Design and Architecture
  • Development for LAMP
  • Integration Services for Flex/AIR with existing Web Apps
  • Development Setup for small teams
    • Subversion Version Control
    • Bug Tracking System (Trac, Wiki)
    • Training on Development Life Cycle
    • Backup Strategies
    • Development Sandbox Setup for RIA development

    JFYI! You can check out my linkedin profile to know more about me. I am based in India and have around ten (10) years of experience, during this period I have worked for Macromedia/Adobe, Yahoo!, Mixercast and TIS and worked as independent-consultant, freelancer, trainer and co-founder. I have been working on various technologies/platforms (some listed above).

    I am a programmer who enjoys solving users’ problems whatever it takes (technology is no constrain). Having said that, I am passionate about ActionScript/Flash/Flex/AIR and Web (in general) which happen to be my core competencies.

    PS: Do you think, this is a shameless sales pitch :-)

    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.

    Categories: Programming Tags: