This time, our Programmer of the Month is Stephen Merriman – this New Zealander is absolutely passionate about programming. He’s been a regular fixture on our leaderboard since July and stood 1st in the September Challenge. Some tidbits about Stephen– he makes websites for a living, loves the Harry Potter series and Roast Chicken is his meal of choice.
More from the Programmer of the month himself:
Name: Stephen Merriman
Institute: none, though I can throw in a shameless plug for my work: http://www.cre8d-design.com
Brief introduction about yourself (under 140 characters): Having not discovered programming contests until university, I now love them, and was very excited when I found a new one in CodeChef.
How/When did you start programming?
It’s quite hard to remember, actually. I remember making games in BASIC on an old Acorn Archimedes when I was very young, and then when my sister took some computing papers at university I would watch/read her textbooks. So maybe somewhere from 7 to 10? After competing in the IMO throughout high school, I never discovered programming contests until part way through university where I competed in the ICPC and found Topcoder among others.
What do you do when you’re not programming?
What do you mean not programming? Oh yeah, I do find time to play soccer during the summer, and attend a weekly pub quiz (sadly, there aren’t enough questions about programming for me to be any good).
What do you like most about CodeChef?
The contests, of course; I love entering any contest I can find online. Plus the fact that all those crazy targets at TopCoder don’t compete, so I actually have a chance of winning
How many hours a day do you program?
Seeing as my job involves programming all day, let alone the time I spend solving problems on SPOJ, CodeChef or competitions like the Codejam, it’s probably too large for me to want to think about!
What’s your favourite book and why?
This is going to sound a bit repetitive after Anshuman and Varun, but make that three in a row for Harry Potter; maybe there’s a connection between programming and magic? I’ve always found novels about magic enjoyable. Plus, I have read all 80 something Agatha Christie murder mysteries (the link is more obvious there, problem solving <-> whodunit).
If you could eat dinner with any famous person (past or present), who would it be and what dish would you have?
Boy, that’s a tough one.. the dish would be roast chicken just because it’s my favourite meal. I’d have to think more about this but for now let’s say Fermat, just to see if he really did have a solution to Fermat’s Last Theorem.
What are your plans for the future?
Currently I’m perfectly happy with my job; I get to work from home for my sister, sleep in a bit, and make websites all day. I can’t see this changing any time in the foreseeable future, but we’ll see how things go. Competition wise, I’m hoping to get through to the Codejam finals this year as I did last year.
Here’s the long awaited, highly anticipated videos from CodeChef TechTalks. They are in the order in which they were delivered:
Lisa Crispin on Trends in Agile Testing:
Ramki talking about RDBS vs. Other Data Stores for Scalability:
Excerpts from the Birds of a Feather (BOF) sessions:
Naresh Jain on Avatars of TDD:
You can check out our photos and the slides themselves here. We had a lot of fun putting this on and hope you enjoyed it as well. How can we make this event better next time? Let us know…
We’re planning out the activities for October and would like to hold a second contest at the end of the month (in addition to our traditional 10-Day Algorithm Challenge). We’re not really sure what to do so we are asking for your help. Here are some suggestions we came up with:
We’ve discussed some other ideas including a contest for shortest lines of code, though this promotes bad programming styles (hard to read/understand). We’d like to do something that encourages quality software development.
Any of the ideas above appeal to you? Any new ideas we haven’t thought of? Let us know (and have a nice weekend)…
Last weekend we kicked off the first (of hopefully many more) CodeChef Tech Talks. We were very lucky to have two awesome international speakers present alongside some of Directi’s finest. We’d like to give a big thanks to our sponsors: ADP, GoodAgile, and Xebia, our hosts: IIIT-Hyderabad and Directi and our Media Partner: ITVidya for making this event possible. Videos of all sessions will be posted soon.
In Mumbai, the day started off with Bhavin (Directi’s CEO) giving an overview of our goals behind CodeChef (in essence to raise the quality of software development in India). He then discussed how to develop a web architecture that is “infinitely scalable.”
Owen Rogers followed up next with a session on releasing code to production every week. He gave some insight into how his team works and their philosophy (thin slices, quick releases, continuous monitoring, zero-downtime database deployment, etc…). He advocated that different approaches worked for different teams and described some best practices he feels his team could be doing more of (TDD, pairing, automated testing):
After lunch there was a birds of a feather (BOF) session where audience members suggested topics, and anyone who was interested in participating could join that particular group. Topics included: what do you consider to be “meaningful” work, are estimates for software development projects harmful, what tools do people use to encourage knowledge sharing across their organization:
The final talk was given by Lisa Crispin author of Agile Testing: A Practical Guide for Testers and Agile Teams. She discussed the current trends and tools in the agile testing world (like Cucumber for behavior driven development), and shared her insights and experiences.
The day concluded with a Q&A with the audience.
The format of the event was pretty similar in Hyderabad and Bangalore though different speakers gave talks alongside Owen and Lisa. At IIIT-Hyderabad Ramki gave a session on RDBS’s vs other data stores for scalability:
In Bangalore, Naresh Jain gave a talk on Avatars of TDD:
Overall we had a really great time putting on this event. The people who attended the event were awesome, it was a good mix of students and professionals all bringing in different experiences. Everyone was really enthusiastic and actively contributed. We were really happy with the turnout (except for Hyderabad where for some reason 75% of the people who received invites didn’t show up ).
Generally the feedback we received was positive (do a quick twitter search for codechef_techtalks to see the chatter) though we know there is room for improvement. How can we make this event better? Was the format of the talk ok? More speakers or less? More interactive / hands on workshops? What topics would you like to hear more about? Was the invitation system a deterrent for anyone to participate? If you have any feedback please let us know via email/twitter/or the comments below.
At Codechef our goal is to help people become better programmers. An integral part of this is discussion and we find that sometimes, we are the bottleneck for growth amongst the community. In an effort to promote collaboration we are thinking about making the following changes.
1. Introducing a wiki: We plan on introducing a wiki where most users will be able to edit pages related to the FAQ, Tutorials, Tips, Resources, Strategies, etc… We want to create some easily achievable task as the criteria for becoming an editor. Our plan is to let anyone who has had at least one successful submission in any of our contests will be able to edit the wiki. We feel like this will encourage greater collaboration and allow all of you to contribute meaningfully.
2. Disabling comments : We thought that commenting on problems would be a good idea, but we are finding it is not being used in the way we intended it. The comments are mainly from new comers asking questions whose answers are available elsewhere. Unless we can figure out a way to ensure that comments are used for questions related to that problem specifically, we feel that through the wiki, forums, blog, email, twitter and chat (soon coming back), there are enough options to communicate with us and each other.
3. Introducing a new forum : The current forum is not well integrated into the site and also not integrated with our authentication system. We plan on introducing a forum which integrates better and retains the same look and feel as our site. We will also create a section for high priority issues which we will monitor carefully, allowing you guys to bring up any major site or contest issues to our immediate attention.
We would like to know what you think about these new features that we plan to introduce? Do you think that disabling the comments and restricting discussions about problems to the forums is a better idea? Or would you like us to scrap the forums and keep the comments’ section as it is? Also, what do you think about the idea of the wiki editing facility being open to only those who successfully solve problems in the contests? Do leave in comments to let us know what you think
On the 3rd of Sept 2009, I delivered a session at MPSTME, NMIMS (Mumbai), on ‘The Basic Implementation of a Search Engine’.
The crowd attending the session ranged from first year students to final year students and so I kept the session rather basic without going into the details of the subject. The students were bright and very enthusiastic, and the audience participation was simply awesome.
In the session I demonstrated a small Perl Script with a few functions to explain a Crawler, Indexer and Search Logic.
I am attaching the code to this post and below is the video of the session.
Lastly, I would like to thank Gaurav Munjal and the entire ACM MPSTME team for all their help.
~vix on CodeChef Twitter
We are back with the winner-list of this month’s algorithm challenge. For the first time we have ties at 2 places in the rank-list for India
Top 5 (India):
1st – Harpreet Singh (5.557)
2nd – Satyam Shekhar (5.116)
3rd – Gaurav Agarwal (5.000)
3th – Anshuman Singh (5.000)
5th – Anil (4.116)
5th – Pradeep B (4.116)
Top 5 (US):
1st – Wenyu Cao (6.919)
2nd – pmnox (6.902)
3rd – Josh Metzler (6.284)
4th – Balakrishnan Varadarajan (6.127)
5th – Chris Narrikkattu (5.000)
Stephen Merriman requires a special mention for having secured the first place over-all
All problems are now available in the practice area and the solutions are public. The test cases for the problems are now available. As the test cases for the problem Mosaic are really huge, we are uploading two sets of test cases. The test cases here are for problems other than Mosaic, while the entire set of test cases including those for the problem Mosaic are available here.
A few interesting statistics for the contest follow :
|Length of Contest||Unique Visitors||Unique Participants||Total Number of Submissions||Percentage of user who have solved at least one problem|
|Country||Total Participants||Average Score per User|
|Rest of World||26||2.206|
We removed the submission limit on the challenge problem this time as the problems were considerably tough compared to the ones in the previous contests. We agree that some of the problems had a very strict time limit and this issue will be addressed in the future contests.
Also, if you have any kind of feedback related to the contest or otherwise, feel free to comment.