Sunday, January 30, 2011

Working from home during the start-up phase

I recently posted an article on Linkedin about what people were doing to make working from home during the start-up phase of their companies successful (http://goo.gl/otqA2). Here is a summary of hundreds of responses I received.

(1) Make sure you get dressed for work, as if you were going to the office.
(2) Make a separate area where you conduct your work, a dedicated working space. If possible a separate room or corner away from distractions like food or TV.
(3) Try to attend meetings or networking events once or twice a week to get some human interaction.
(4) Try to keep a very detailed check-list of the things you need to get done each day, and stick to it.
(5) Be disciplined about when you are working and when you are not
(6) Exercise regularly !
(7) Take proper meal breaks, and leave the work area.
(8) Turn off all personal mobile phones, tv's etc - remember you are working !
(9) Keep away from the bedroom !
(10) Stay connected with colleges or collaborators
(11) If you have pets or children (make sure the work area is out of bounds)

Tuesday, January 18, 2011

101 Great things about Perl

I posted a question on LinkedIn Perl user group and I was amazed by the response. This is an attempt to create a list from the responses of the things people love about programming in Perl.

1. You can return scalars or arrays - Perl does not care. In most other languages type checking will prohibit this behavior. While in the wrong hands this can be dangerous, in the right hands it is very powerful !

2. There are many, many very good Frameworks in Perl. One well used one for web development is Catalyst

3. There is a very knowledgeable and supportive programming community - which are perhaps more technical and skilled than other communities. Perl has grown out of the spirit of co-operation and the help is usually of very high quality.

4. CPAN is a repository of Perl classes and its quality and coverage is excellent. You will find almost anything you are looking for and if not maybe someone to create it ! Some examples : Win32::OLE - module to read/write office documents and spreadsheets, GD - module to create images from raw binary, Date::Calc - Date calculator module, Net::FTP - FTP module, LWP - module to pull html docs from the internet.

5. Incredibly strong UNIT TESTING.

6. Very rapid prototyping

7. Automated, but sane, code auditing (especially Perl::Critic)

8. Decent documentation standard.

9. Powerful data structure manipulation like this to find a duplicate in an array foreach(@arr){ print "Duplicate $_\n" if $hash{$_}++};

10. Perl is relatively Platform independent