Time Running Out to Sponsor Damian Conway

pudge on 2000-10-25T22:53:43

Nathan Torkington writes an update to the drive to sponsor Damian Conway for a year. Go to http://registration.yapc.org/ to find out more.


As of midday Wednesday, regular contributions to the "Sponsor a Hacker" project total just over $16,000 of the $27,500 needed. At $27,500, Blackstar's matching contribution will take it up to the $55,000 it'll take to get Damian full-time next year.

We, the Perl community, only have two more days to get this figure to a point where it looks likely that the rest can be made. Damian's University wants to know whether he'll be out on Perl work (please please please) or teaching undergradutes how to use C++.

If you haven't pledged to the fund, please do so now. This is our chance to start a new model of user-community involvement in open source projects. This way we get a leading light of the Perl community working on Perl, with no possible corporate taint. If your company uses Perl and wants to return something to the community, a $1000 donation would be an excellent way to show it.

To recap: we still need another $11,000. Your pledge will bring us closer.

Thanks,

Nat


....

hfb on 2000-10-26T04:44:12

$11,000 USD is achieveable by 110 people giving $100, 220 people giving $50 or 550 people giving $20 and you have exceedingly much better chances of getting a return on your investment than the lottery.

The thing that noone has mentioned in the whole Perl6 whirlwind is what was being discussed before someone started throwing things and suddenly it was all about Perl6; the Perl community. Perl6 is an interesting chance to get the community focused on a particular and positive goal. There are a lot of people wondering how it will be, what it will be, and what can be expected of this project and rightfully so considering their favourite language is about to be reborn....but all of that aside isn't the curiosity of what it could be, might be compelling?

I don't know that I care much about Perl6 at this point since I'm an SA not a language designer, but with the stock market being the way it is, my chances of winning the lotto are pretty slim and the fact I just blew $20 for 2 movie tickets and a coke I figure there are worse ways to blow cash and think I'm making an investment. $50 for a year of Perl-ish entertainment and potential synchronicity of the Perl community seems like a deal even a Yankee could love.

Life is short, skip seeing 'Bedazzled' and vote yes for Damian for 1 year to see what the mad academic can do for Perl.

e.

better website, more feedback please

kellan on 2000-10-26T14:38:04

not to be horribly consumeristic, but i've gone, i've made my contribution, and now i would like to be able to find out how it is being used.

if the sponsorship happens, i hope a better website will be put up, perhaps a weblog/diary. this could details what damian is thinking about doing with the year, provide a forum to ask him question (which he would be free to ignore), maybe a central calendar of speaking engagements.

thanks
kellan

mad academic fan club

brevity on 2000-10-26T18:44:25

I pledged $75. I agree with just about everything that hfb said, especially about skipping Bedazzled. :)

This isn't so much about Damian -- although I ask you all to name a better choice. Perl has a lot of exceptional individuals in the community, and I'd happily pledge to support any of them if they wanted to work on Perl for a year.

This could be a whole new era for Perl, community input with both hearts, minds, AND dollars.

Come on people! If you're reading this, Perl's probably made your company or you personal a little bit richer at one point or another.

Let's take Perl development to the next level. Just think of what can happen with someone like Damian working full-time on making Perl better!

Re:better website, more feedback please

autarch on 2000-10-26T22:53:06

This isn't antagonistic at all. The fact is that YAS is still _very_ young and has not even selected its 'true' board yet. The work done so far has been mostly through Kevin's efforts, with help from Kurt DeMaagd (and others I'm probably slighting).

Once this is resolved (hopefully with successful results) I'm sure we'll be able to take the next steps, which include selecting our 'real' board (currently the board is Kevin and Kurt but this is just temporary.

After that, hopefully people will pitch in to help with the web page and such. And its never to early to start thinking about YAPC::North::America 19101 too!

-dave

Do we/Dr. Conway really want this?

Shlomi Fish on 2000-10-29T15:54:23

Well, first of all, it's not too bad. We can take the money that was collected, and then collect some more in order to finance Mr. Conway for the 2001/2002 scholastic year. He might miss some of the perl 6 action, but the perl world will survive I think.

The real question is if we, or more precisely Damian Conway actually want to do this? This reminds of what Richard P. Feynman said about the Princeton Institute of Advanced study. If you are not familiar with it check the following URL:

http://www.dartmouth.edu/user/samwick/feynman.html

What he was actually saying was that since the people who are present there were releaved of their obligations, they became less productive.

A better approach, IMO, would be to offer Dr. Conway some job that has to do with perl. I don't suppose a job as a CGI programmer would be satisfying enough for an academe like him, so I guess we need to think of something in the University or at least in High School teaching.

I think perl has a great potential as a language for learning about programming (i.e: "Intro to Computer Science in perl") or as a vehicle for learning various different topics such as advanced programming, databases, distributed programming, data structures, graph algorithms, text processing, and others.

Of course convincing the academia that perl is a good language for such purposes is a different matter, and I'm not sure Conway's university in particular will want to be a pioneer in this field.

Re:Do we/Dr. Conway really want this?

Damian on 2000-10-29T21:34:44

Well, first of all, it's not too bad. We can take the money that was collected, and then collect some more in order to finance Mr. Conway for the 2001/2002 scholastic year. He might miss some of the perl 6 action, but the perl world will survive I think.

Err...that's what we're doing. Raising money to fund my research for 12 months.

The real question is if we, or more precisely Damian Conway actually want to do this?

Oh, yes! Damian Conway definitely wants to do this. :-)

This reminds of what Richard P. Feynman said about the Princeton Institute of Advanced study...that since the people who are present there were releaved of their obligations, they became less productive.

Feynman was a great physicist, but not a great psychologist. Not all people are externally motivated. Some of us are compelled to strive, without the need for cattle prods.

Besides, what makes you think this funding comes without obligations? Many generous individuals within the Perl community have contributed large amounts of their own hard-earned cash to make this happen. Companies like Stonehenge, VALinux, and O'Reilly have each given us $1000's of dollars. Blackstar has given us nearly $30,000!

To their great credit, every dollar was donated "no strings attached". But the trust that implies only makes me feel more obligated to give everyone who has contributed the best possible value for their money.

Apart from the fact that it would be immoral to accept this funding and then not produce, it would also effectively ruin our chances of making this kind of "community patronage" an integral part of future Perl development. I am not going to be the guy they point to as proof that it doesn't work.

A better approach, IMO, would be to offer Dr. Conway some job that has to do with perl. I don't suppose a job as a CGI programmer would be satisfying enough...

"Not that there's anything wrong with that!"

You're correct: CGI programming is not what I want to do. I regularly decline job offers of that type (and for considerably more than $55K per year :-)

...so I guess we need to think of something in the University...

That's what we've done. The money we've collected will be used as a grant to my University, specifically to fund me as a full-time researcher for Perl.

...or at least in High School teaching.

You credit me with far too much fortitude, if you think I would ever take on that supremely demanding, utterly unappreciated, and often physically dangerous role!

I think perl has a great potential as a language for learning about programming (i.e: "Intro to Computer Science in perl") or as a vehicle for learning various different topics such as advanced programming, databases, distributed programming, data structures, graph algorithms, text processing, and others.
Perl certainly has potential for teaching advanced algorithms, but it is not IMHO a good first teaching language. Take a look at The Seven Deadly Sins of Introductory Programming Language Design and then count how many of them Perl commits.

As Larry has pointed out, Perl wasn't designed to be easy to learn; it's designed to be easy to use, once learned. That makes perfect sense, since you learn it once, but use it far more often.

Of course convincing the academia that perl is a good language for such purposes is a different matter, and I'm not sure Conway's university in particular will want to be a pioneer in this field.

You're exactly right. What many university's teach nowadays is almost entirely driven by industry's stated needs and student's expectations. So they teach Java and C/C++.

What Perl needs, in order to make inroads into academia, is to make inroads into the corporate and student consciousness. To do that, it needs several things, one of which is someone like me devoted to showing how powerful this programming language can be: coding cool software, writing about it, and getting out there to spread the word.

And that's the plan for 2001.

Re:Do we/Dr. Conway really want this?

Shlomi Fish on 2000-10-30T07:51:40

<rant>How do I get to include the original message in this reply?</rant> Oh never mind.

Well, first of all, congratulations for getting the complete grant after all. Here are my comments on your comment on my comment.

1. What I wanted in my suggestion was to delay the funding to the next year (Re: "2001/2002"). The original plan was for this to take place this year which is the scholastic year of 2000/2001.

2. I'm not certain whether Feynman was a great psychologist or not (BTW, most of the psychologists who were considered great were actually frauds), but I happen to agree with him at this point. My (hopefully constructive) suggestion is that you will make a list of things that you will work on through the next year: like writing (another) book on perl, prepare slides for a university course that will use it, work on a useful module, re-write Slashcode from scratch (something I'm planning to do), do something else which is perl-related, or something else which is work-oriented but not perl-related. Keep yourself busy.

3. I used to work as a CGI programmer, and it was OK, although I now consider web-publishing to be the back-yard of the IT world. If working in web-publishing is the only job I found, I probably would take it, but I hope to look for something more stimulating, whether perl-related or not (probably not). I'm not planning to work for the academia for a long time though.

4. I think perl is a good first programming language, (although Python may be better), or at least certainly much better than C/C++ or Java. The reason for that is that you can easily teach a subset of perl, and then expand on it as you need it. Perl's weak typing also make it much easier on programmers. I don't have the time at the moment to explain on it so sorrt?

4. Perl's acceptance by the industry - some of perl's features make it hard to be used commercially. Namely: weakly typing (which makes it slow), being a symbolic language (which also makes it slow, but also makes it harder to protect source code), and the fact that it is usually interpreted.

I have used Argo/UML, which is a Java program, and I was not able to run it side by side with GNOME, without experiencing delays. And my computer has 64 MB of RAM and 1 GB of swap, and I was using IBM's JDK for Linux. Now imagine what happen if this thing was written in perl...

Yes, I know that soon computers will have more RAM and perhaps more speed, but like I said, I'm not sure if perl will ever become the main language used by programmers. But it still a good language that can be used in the academia, becuase it enables a progammer to write, run and debug, a lot of code quickly without too many hassles and with a lot of programming power.

Re:Do we/Dr. Conway really want this?

pudge on 2000-10-31T12:20:42

<rant>How do I get to include the original message in this reply?</rant>

Cut and paste works for me. :-)

I'm not certain whether Feynman was a great psychologist or not (BTW, most of the psychologists who were considered great were actually frauds), but I happen to agree with him at this point.

Any suggestion that states that people who are relieved of obligations will necessarily become less productive is self-evidently false. As Damian pointed out, some people don't need someone holding a paycheck, noose, or 10-ton weight over their head to be motivated to produce. Some people, like Damian, are motivated by other factors which don't change an iota just because the source and type of funding changes. If you think Damian's motivation or productivity will be lessened by this, you are, simply, wrong. In fact, I'd not be surprised if it increased, for the reasons he gave. That said:

My (hopefully constructive) suggestion is that you will make a list of things that you will work on through the next year:

That would be a good thing, and I believe it is part of the plan.

re-write Slashcode from scratch (something I'm planning to do)

Why would you want to do that? I don't understand.

Yes, I know that soon computers will have more RAM and perhaps more speed, but like I said, I'm not sure if perl will ever become the main language used by programmers.

I'm not sure it isn't already.

Re:Do we/Dr. Conway really want this?

Andre on 2000-10-31T14:57:47

My comments on Fish's comments, on Damian's Comments, on Fishe's Comments on Damian.

Before I start ranting, I better point out I signe dup 2 minutes ago... and am 2nd year Comp. Sci. student at Monash Uni (Damian's Uni).

Point 2. Slides, for begginers. Monash Uni (Damian's Uni) DOES has an introduction to Perl Subject. Having done the subject 6 months ago... I feel it's both a great overview.. and fairly complete. The notes are copyright by the author (Debbie) so I suggest you ASK if you want to use them.
http://www.csse.monash.edu.au/user/debbiep/cse2395/

Point 4. ARE YOU JOKING ??? Python is NOT a good introduction to programming. Enough said. Maybe once you're a profeshional programmer it looks that way, but... having learnt some python this semester... NO. "Perl's weak typing also make it much easier on programmers" this is a good thing ??? Vague wish washy programming is NOT good for begginers. It does NOT build up confidence. Perl (which "does what it thought you meant" as it was explained to me) is great once you have the frame of mind to think that way. As a new programmer, you DON'T. What Damian says is absolutly right.

And I hate to break it to the Perl community, but it is arguable that Damian is even better at teaching first years than he is at Perl. (And I mean teach not lecture at, there is a difference).

Your conclusion:
"But it still a good language that can be used in the academia, becuase it enables a progammer to write, run and debug, a lot of code quickly without too many hassles and with a lot of programming power."

One word: Bugs.
Rather than bugs being caught by strong typing, perl allow these bugs to be come semantic and logic errors in the program. So.. yes. You CAN produce a 10 PERL line program that would do what would take a C program 30 lines to do. BUT... as a begginer, that's 10 lines of buggy code ! It takes 10 times as long before it all works... and the bug can be as small as a single charactor. And even then you've probally just got lucky.
PERL is powerful. Yes.
But would you give a high performace racing car to an 18 year old kid ? Power is NOT always good. Especially not for begginers.
So... Perl in Uni can be a very good thing, but NOT at first year level.

Ok, I think I wasted enough of every one's time already. :)

Oh one more thing... I hope people do realise the impact on teaching that removing Damian for a year will have. I can say with certainty that Monash Uni's 2001 first year students will have less fun, learn less and understand less than this years lot. In fact, I dare say more will end up failing.

While this is great for Damian for a year... there are always loosers. In this case, the students. So... Fish, any ideas of extending it for more than a year (I know this is not what you ment when you said 2001/2002) would create a lot of very unhappy students. And turns the perl comunity INTO the corperate giant that is pinching our amazing academic and teaching staff. The commnet was already raised on our club site (http://club.csse.monash.edu.au) "how much do we need to get him back ?" - that by one of Damian's Y2K first years.

Re:Do we/Dr. Conway really want this?

Damian on 2000-10-31T21:24:01

Well, first of all, congratulations for getting the complete grant after all.
Thank-you. :-)
What I wanted in my suggestion was to delay the funding to the next year (Re: "2001/2002"). The original plan was for this to take place this year which is the scholastic year of 2000/2001.

Aha! The source of our confusion is revealed. I'm an Australian academic. Like your academic years, ours run from early Autumn to late Spring. Unlike yours though, our antipodean Autumn is March and our Spring is October. So our academic years are calendar years. That's why this grant runs (just) through 2001.

My (hopefully constructive) suggestion is that you will make a list of things that you will work on through the next year: like writing (another) book on perl, prepare slides for a university course that will use it, work on a useful module, re-write Slashcode from scratch (something I'm planning to do), do something else which is perl-related...
Great minds think alike. There is already a preliminary version of just such as list.
I think perl is a good first programming language, (although Python may be better), or at least certainly much better than C/C++ or Java. The reason for that is that you can easily teach a subset of perl, and then expand on it as you need it.

Having taught introductory programming to several thousand freshman, in several languages, for the past 10 years, I can assure you that teaching a subset of a language is not a successful strategy. I have tried that approach on three separate occasions, and it just doesn't work.

As I explained in the "Seven Deady Sins" paper, it fails for two reasons:

  1. None of the textbooks or reference works available restricts itself to the subset you've chosen to teach, so when the students are looking for help, they're constantly fighting their way past concepts and syntax they've never seen before.
  2. The compiler/interpreter you're using doesn't restrict itself to your subset either. So every mistake they make triggers features or errors that you've (deliberately!) not equipped them to understand.
Perl's weak typing also make it much easier on programmers.

I believe it's a mischaracterization to describe Perl's typing as weak. Weak typing is the kind that is inconsistently applied, or subvertible. For example, C's indiscriminate cast mechanism, or its void* (anti-)type.

What Perl has is dynamic typing, which is great for the experienced programmer, but pure hell on beginners. For them, static typing works much better: "see, this variable stores an integer, because up here you declared it integer, and so it will always store an integer..."

some of perl's features make it hard to be used commercially. Namely: weakly typing (which makes it slow), being a symbolic language (which also makes it slow, but also makes it harder to protect source code), and the fact that it is usually interpreted.

I don't think this is so. Perl is widely used, it just isn't talked about. That's our problem. Management want to use Java (because Sun has spent billions of dollars convincing them they want Java); Sysadmins and programmers want to use Perl (because they have to actually get the job done!)

One the my (self-appointed) roles next year will be to try and increase Perl's profile on management radar, by being a serious academic who's also a "loud and proud" advocate of Perl.

Re:Do we/Dr. Conway really want this?

Shlomi Fish on 2000-11-01T09:00:46

<quote>

some of perl's features make it hard to be used commercially. Namely: weakly typing (which makes it slow), being a symbolic language (which also makes it slow, but also makes it harder to protect source code), and the fact that it is usually interpreted.

I don't think this is so. Perl is widely used, it just isn't talked about. That's our problem. Management want to use Java (because Sun has spent billions of dollars convincing them they want Java); Sysadmins and programmers want to use Perl (because they have to actually get the job done!) One the my (self-appointed) roles next year will be to try and increase Perl's profile on management radar, by being a serious academic who's also a "loud and proud" advocate of Perl.

</quote>

I didn't said perl was not widely used, I just said it cannot be used for every purpose you'll need. For example, writing gcc in perl is a bad idea. Or for that matter, my Freecell solving program (check here) would not have been able to solve a 1000 boards in 12 minutes had it been written in perl instead of ANSI C. So, if you want to have speed, and/or not to reveal your source code, then perl is not suitable for you. And in the commercial world that is 90% of the cases from which corporations are expecting to make money.

What I do agree is that there is too much hype about Java. Sun has the right to promote Java, but many people over-estimate it. Hell, I even think perl is much more suitable than Java for programming most web applets, the only problem being that perl's applet technology (if existant) is not built into most browsers. Maybe someone should hack it into Mozilla...

Oh well, who is John Galt? ;)

Re:Do we/Dr. Conway really want this?

pudge on 2000-11-01T13:48:21

Or for that matter, my Freecell solving program (check here) would not have been able to solve a 1000 boards in 12 minutes had it been written in perl instead of ANSI C.

I smell a challenge ...

So, if you want to have speed ... then perl is not suitable for you.

I'd almost be willing to wager someone could, using modules from CPAN, do the job of your freecell solver as fast or faster using Perl. And of course, speed is relative to the problem set and the use pf the code. You will not get noticably better speed in a C web backend than you will from a well-designed mod_perl application. Sometimes, C is required for speed. But sometimes, even when speed is important, going to C gains you no speed.

Re:Do we/Dr. Conway really want this?

pudge on 2000-11-01T13:49:59

So... Perl in Uni can be a very good thing, but NOT at first year level.

I'd amend that to say that it MIGHT not be good at a first year level. It certainly was great for me when I learned Perl as my "first" language (well, not including BASIC, 10 years previous).

Re:Do we/Dr. Conway really want this?

Shlomi Fish on 2000-11-01T16:26:14

<quote> I'd almost be willing to wager someone could, using modules from CPAN, do the job of your freecell solver as fast or faster using Perl. And of course, speed is relative to the problem set and the use pf the code. You will not get noticably better speed in a C web backend than you will from a well-designed mod_perl application. Sometimes, C is required for speed. But sometimes, even when speed is important, going to C gains you no speed. </quote>

Well, when I first wrote this program, I wrote it in perl, and it was slow at hell. It took it several minutes to process a couple of dozen of iterations. I did not write very well (I should have serialized the states, used vec() to manipulate them, and store the previous states of the DFS scan in a hash instead of a linear unsorted array), but still there was a lot of overhead involved. When I converted it to C using a sorted array with a sort margin it was much faster, and exited after a fraction of the time. Eventually I managed to solve some boards while implementing only part of the functionality I wanted the program to have. When I implemented the rest of the functionality it was much faster.

In the versions since then, I implemented state storage using a balanced binary tree or my own customized hash-like collection, which made it at least 50 times faster. And that's just the broto speed, when invoking several processes, not the net speed.

The reason why C will always be faster is because I nest a lot of loops inside each function. (I think I sometime reach at least 8 of them). And loops in perl are much slower than C.

Not to start a perl vs. C holy war here, but since the perl interpretr is written in C, it makes sense that you can always write a C program that will do the same thing as the equivalent perl program at least as fast. If you know how to effectively program in C, that is.

Theoretically, I can create XS bindings for my C program, put it on CPAN and claim it is now a perl program that runs equally as fast. But that's cheating because I'm using C. Had perl been JIT compiled (spitting on the floor three times), then maybe it would have been faster, but since it isn't, it cannot handle some tasks efficiently enough.

There are always trade-offs in life, and sometime you have to trade speed for ease of use. If you want to prove the opposite, then I challenge you or whoever is reading this, to write an equally fast or faster program in perl using the same algorithm. Freecell Solver is distributed under the public domain so the source code is at yours disposal.