Grant Proposal: Book: Practical Approach to Web Programming with Perl 5
Wed, 16-Jul-2014 by
_We have received the following grant application "Book: Practical Approach to Web Programming with Perl 5". Please leave feedback in the comments field by July 25th, 2014._
# Book: Practical Approach to Web Programming with Perl 5
- Amount Requested:
This book would teach web programming from ground up through a practical and minimalist approach.
## Benefits to the Perl Community
2 years back, when I was first introduced to Perl, I had a horrible time learning it as my first programming language. Most of the resources available were very theoretical, and I could not find practical and simple code. I went through many O'Reilly Media books, to no avail. I realised that most of the books were either outdated, or aimed at programmers already proficient in some other programming language or required strong computer science background.
For example, even searching for "use HTML and Perl together" had produced a lot of vague results back then, even though its so... easy to answer it now, that I progressed further on the path of Perl.
Even modern books like Perl Maven, and Modern Perl: Chromatic, dive into theory first, before coming to practical sample codes. Even though I acknowledge the breath of fresh air they brought to the Perl community.
The extent of things was this, that when I recruited some interns in 2014 spring-summer, for my start-up from top tech-colleges in India, there was only handful of kids who knew Perl. Most of them preferred PHP, Ruby or Python. And the handful few, either knew the Perl as it was in 1990s (due to the syllabus in-force in these colleges) or were specialised in the field of Bio-informatics. I had to develop my own techniques and methods to teach Perl5 to my interns, and thankfully they are now self-proficient. Those techniques and methods gave me a solid base, for the purpose of writing this book.
I aim to write this book, to teach people Perl, by using practical, simple and secure code, ready for first time programmers as well as experienced ones. But since I'm busy with my start-up, I fear that without a grant, I might lose my motivation midway. Thus a grant would help me greatly to cover some basic day-to-day expenses if I'm to put time and effort in writing and researching for this book. Personally, I'm very passionate about this book project.
I would also like to promote, Perl in India through authoring and resultant marketing of this book.
20-40 Scripts, starting from Hello World, Print Submitted Info, Login Script, all the way up to designing Full Fledge Games, and Writing Complex Modules.
Though I have not finalised all the scripts yet, they may go in this pattern:
1\. Hello World Script
2\. Print Submitted Data (from a HTML Form)
3\. Simple Login Script (no encryption, no database)
4\. Session Management
5\. Advanced Login Script (encryption and database)
6\. Account Creation & Password Retrieval System
7\. Handling different modern DB like SQLITE, PostgreSQL, MySQL, etc.
8\. A Full-Fledge Blog Management
9\. A web-based Hangman/Tic-tac-toe game
10\. A web-based game of Intermediate Complexity
and so on..
## Project Details
I already have a personal blog, where I have written some simple scripts: http://practicalperl5.blogspot.in/
You can see on that blog, my personal style, where I explain each and every line (spoon-feeding), besides adding a few simple tips every now and then. In my book, I would aim to improve upon this style to a big extent, reducing inefficiency (using reference codes, additional resources-link, etc) and adding diversity (Board/2D RPG Game programming in Perl) plus some aesthetics like Perl-Meme, Interesting-Facts (about Perl and its community), etc. I have some hidden aces as well, that I would rather reveal in the final version of the book.
Also, sometime back I came across this book called (Perl One-Liners - 130 Programs That Get Things Done). Though I was a bit disappointed with the content of the book, but overall, I liked their approach. It was exactly what I was thinking as well. In my early days, as a perl programmer, I used to constantly come across, a lot of code that was unnecessarily complex, and had no human-value and gave Perl its ugly-complex identity to the un-initiated. I used to think, for god sakes! When are tjey going to write a book that would get REAL things done!!?
I think the deliverables, and their completion would be rather solid inch-stones. The progress can be simply and clearly noticed by completion of each script.
## Project Schedule
I can commit a lot of time, since our start-up is also using Perl as our back-end-language. I would begin in August 2014, and ideally complete it before Mid-Dec 2014, but it can change by up to 1-2 months take or leave, as my main concern is simplicity and effectiveness. I would rather take a bit more time, to write a good book, instead of rushing to meet deadlines.
## Completeness Criteria
The book would be available in ebook, html, pod, under a public license (would decide on exactly which license, later.. perhaps copy-left).
My name is Ahmad Bilal, I'm an independent developer as well as an entrepreneur based in New Delhi, India. I have always been a unorthodox learner, and a generalist to begin with. I come from a academic family, where my mother, 3 aunts, and many other family members are university professors/school teachers, due to which, from the get-go, I have learned the art of the teaching and writing books from them. My father is in construction business, where he has to manage a lot of unskilled labour, and on a very constant & personal basis engage and train them. So yes.., training is in my blood. Also I'm a firm believer in quality-over-quantity concept, and always excelled in various fields with little or no prior experience as a fast learner due to my practical approach.
In CS, I'm a very good UI Designer with more than 4-5 years of experience (Photoshop, HTML, CSS, etc) mainly wih http://forumotion.com ,.. besides being familiar with C++ and Python as well.
I look forward to get support for this endeavour from the Perl community :)
I would like to discourage author's use of CGI ( http://practicalperl5.blogspot.in/2014/07/perl-login-script.html ), unless it's explicitly titled as 'History'.
unfortunately this doesn't seem to progress in the right direction, these days Perl Web needs to teach Plack, Templates, Web::Simple/Dancer/ or Catalyst, how to use CPAN and how to get it all running.
Why can't I find any reference to Catalyst, Mojolicious or Dancer?
@vytas: Indeed, I'm aware that CGI is history & I would make sure to point it out to the readers as well :) Thanks for the suggestion.
Regarding Perl-Frameworks: First of all, most of them come with very-good documentation, straight from their developers. I don't feel their is any lack of knowledge resources out there.
And Secondly, since they are at the end of the day built using Perl, hence people should learn the basic building blocs as well, so they can perhaps make their own Web-Framework in future or contribute to the source of the current breed of frameworks.
The advance topics towards the end of this book can cover one of these frameworks as well. I'm giving it a thought as well.
But there is so much to learn, so many good Perl modules and concepts, that a single book isn't enough to teach it all. Being realistic in that sense, its rather better to infect someone with the love of Perl, so they can ride into the sunset, in search of the Perl Wisdom.
How will this be better than "Learning Perl"?
This feels very 1996 to me. A lot of reiventing of the wheel in taking so much time (one chapter each) for creating a login script, a password encryption system, and then to culminate in a hand-rolled blog seems wasteful. Few people want to put up a hand-rolled blog rather than WordPress or some other turnkey solution for that problem space, or would find it to be intriguing as a technical matter.
I am very impressed with the courage of a relative newcomer to submit a proposal, which obviously has had considerable time and effort put into it. But honestly I'm not sure that two years of Perl experience is sufficient for the project.
There is no mention if the book will be provided free online, like some other authors have done. Asking for a grant for a for-profit venture doesn't benefit the community directly.
Anon 1) Ahh.. the old "Reinventing the Wheel" dialogue. I agree partially with you, but on the contradictory, suppose if you have visited a actual Tyre company's R&D dept, you would see nothing but concept art of wheels i.e, they are constantly reinventing it from scratch. In real world, both side of things happen. Software is written from scratch as well as from previously constructed stepping stones. I feel it is totally uncalled for, to discourage a fresh approach to things.
Secondly, I would advise you to not measure my experience in quantity (2years) but to rather judge based on the end result & quality.
Anon 2) Have you read carefully? Cause I have written it clearly, that it would be released under a public license, which obviously means that it would be FREE (its even mentioned that I may go with a copy-left license, which is as open as it gets)
I tried to get the js code from git but it is obfuscated to the point I can't read it. How do I get the support code so I can see what it says.