The OReilly CD bookshelves are really really good value for money, and the space saving on a bookshelf is nothing short of phenomenal (in addition to searchable pages and indexing)
Not all of them are of the same quality, though.. as mentioned earlier, the Perl CD bookshelf is excellent, I'd also highly recommend the Oracle PL/SQL bookshelf (for anyone interested in doing database programming in particular)..
In addition to Code Complete, Rapid Development is also a great book for anyone in the IT industry (this is also written by Steve McConnell).. another couple of great programming books are written by Steve somebody (McGuire ? yup, google tells me that's right.. link here )
Another book highly recommended to me is The Pragmatic programmer, although I haven't gotten hold of a copy yet:).. You've also missed out some literature on Extreme Programming which might come in handy...and here's the link for the FreeBSD book, mentioned earlier...
There is unfortunate precedent for things that could go horribly wrong with this particular experiment.. Not to say that it will, but...
First, "a short sharp burst of radiation" is supposed to make these males sterile. What are the consequences of releasing males that have released a radiation dose below that required for sterilization ? (I mean, how can you make anything except a sample check to be sure ??, seriously). In one fell swoop, that will just increase the population of the flies in the area. (and might even lead to beneficial mutations in subsequent generations:o)
Next, a layman's application of Darwins' theory. Since flies have mating cycles once every few weeks (if I remember premed biology), won't the introduction of sterile flies be negated ? do the numbers, you'd need a release of sterile males that is sufficiently large enough to reach at least 30%-40% of the population of flies in the area).. can't those resources be spent better elsewhere ? (for alternative means of eradication, that is ?)
This has been tried out on mosquitos and so on, IIRC, and it hasn't really made much of an impact... why would this time be different ?
warning: this is just the situation as I see it and have heard.. no official quotes or insider info here
Larry Wall is the founder of Perl, yes.. however, usually he does less active development on the language itself, usually stepping into settle a dispute or submitting the occasional patch.. Since the Perl 6 initiative was launched, he has been busier than in recent years, because of the RFC approval process and being the lead architect for Perl 6.
Damian Conway, in the past year, has contributed (IMHO) enormously to the popularity, usefulness and general knowledge of Perl.. he's toured giving talks and lectures, written more modules per week than even an ordinarily active Perl programmer would write in an year (Ok, some of them, I don't get, and others leave me just scratching my head..) As I understand it, he was given the grant so he could take a sabbatical from his university and concentrate on Perl full time for one year..
so, its irrelevant as to who gets it and in which order.. certainly, I think Larry Wall should get a grant, but to point fingers and question why he wasn't the first to get it, is simply to make a superficial assessment without knowing the facts behind the grants..
One final note: last year, the powers that be committed to funding Damian Conway, and it worked out well, even though they promised money that they hadn't collected (at that point). If you use Perl in any way, please consider making a donation..
I'm personally rooting for Dan Sugalski to work some more on Perl threads:o) hope he finds time for it in the course of the year...
I wonder if anyone realizes that the same can be said of any other piece of software or OS. then, if we apply Darwin's rule to it, that means that smaller groups evolve faster than large ones.. In other words, MacOS and Linux (no one mentioned Linux in that article ??) will be far far ahead than Windows Uber Grande..The larger the userbase, the worse the problems:o) (Virus writers seldom bother targeting obscure software or architectures anyway)
Talk about being a victim of its own marketing success!
Got a cable connection from @home and yes, it says "any type of server" is forbidden. They explicitly mention webservers and ftp servers in this. The cable connection is intended for "typical home internet use" only..
Now, when I installed linux, this caused me some amusement because I had to run an X-server (heh, which when interpreted narrowly, is a violation of the TOS). Also, I use a webserver at home for testing out Perl scripts and stuff.. so both those put me in violation of the TOS..
I also left sshd running so I could check on things while at work. No one warned me for infringement, and anyway, I could argue that this constituted typical internet use for me...
Why don't people start running their webservers on ports other than 80 ? the ISP can't block everything, surely.. and if you really want to share files, run your webserver on an alternate port and you're good to go...
I agree though, if you're running a high traffic site, get something else
You are making a comparison between brute force computation and heuristics/algorithmic analysis.. What you describe can't happen.
In chess, certain segments of the game are fairly stylized. Take for example, openings, which have been researched, analyzed and can generally be committed to memory. Take also end games, which are more or less set pieces where a result can be determined. Most chess playing computers actually store only the openings, and end game positions. To store every possible move is impossible. This is where the algorithmic analysis/heuristics/AI capability comes in. Using some algorithm like alpha-beta minimax, a computer operates the same way we do, by pruning the decision tree until an optimal move can be found.
The advantage for humans is that there are some moves and positions that we can reject automatically, through experience. The advantage for the computer is that even though it cannot reject such obviously flawed moves without consideration, it can actually compute (and consider) more branches of the decision tree than humans (faster calculations)..
A computer will eventually dominate a human player in Chess. But maybe not just yet..
I ran up against this very issue when I submitted my final year project.. It was written in Perl, and it extended the functionality of an existing Perl module, albeit in a different way.. I was invited to submit a patch, join the development of the module, whatever...
Then I read about this obscure clause in the university project guidelines which said, "all the work submitted for the project belongs to the university"... back up a minute here.. WHAT ?
I'd like to add here that this university that I went to encourages projects with "commercial" applications.. its a private university, btw.. Has anyone started using student projects as a basis for products.. well, not yet.. but it always loomed as a possibility, so I went and talked to the Dean..
Upshot: as long as the university name was prominently displayed, I could claim authorship (is that the right word?) for my work.. It, however, could NOT be GPLed (to their credit, the Dean and Head of Department knew exactly what GPL was).. nothing to stop me releasing it commercially or otherwise, but I couldn't make a profit, and no one else could use it without the university having to be contacted...
In the end, it was just too much hassle, so I just chucked it up after I graduated.. so, the bottom line: GPL usually isn't an option, but most universities are willing to negotiate on ownership and intellectual property rights.. so talk it over with the Department head or Dean and work something out..!
I could mention the insane contract clauses that are routinely signed (ok, maybe not in California) that say you cannot work for a competitor (or anyone who competes in the same field)..
How about never sending employees off on any conferences or any sort of professional course, despite repeated requests ? that happens too..
(Oh, we don't have the cash.. but btw, all managers travel Business class)
How about needing to buy books with your own cash, because the company doesn't have any sort of allowance for that ?
My point is that there are lots of companies out there that would try to hang on to their workers at all costs, regardless of the consequences.. they work, very simply on the premise that, if you reduce options, you get "desperate employees" who are "forced" into doing well at their present job.. in other words, they are not "distracted" by other offers...
I've seen all of this and a few more (the Dilbert joke about the PHB making Alice demand all sorts of outrageous things from the client, so she wouldn't be recruited is too close for comfort )...
So... employers help employees better themselves ? not hardly..
Great article... I think Java has probably improved with 1.3, but hey, this is on Solaris, after all... so, I guess its fair..
I'd tend to think that Perl 5.6 is slightly faster than 5.005xx as well... no reason really.. just 'feel' like its running faster;o)
but on the whole, a very interesting article.. but this won't make the Java language purists budge, even after they see it...:o)
and how prepared they are to enforce regulations...
in my former university, they evaluate the design of a programming project a lot closer than they do the source code.. and I tend to agree with the general view there that its a lot harder to fake a proper design (and sit through a viva) than it is to steal code...
I think this method encourages ppl to look for solutions to problems outside pure coding.. which can only be a good thing..
just my 2c
I do this all the time at work, make competing applications in MySQL/Perl/PHP instead of Access/SQL server/Java... unfortunately, I'm still in the process of looking for a job that allows me to use Linux all the time..
It doesn't always work.. despite the best arguments, the cost factor, the performance factor... There are some who simply will not accept it that way...
I kinda see their point.. they argue that I'm the only guy they have who 'knows' Linux.. and Windows is less steep a learning curve..so it makes more sense for them to use Windows based stuff than Linux, because they can train new guys faster
Sometimes, you just gotta bite down hard and do what you don't like.. it may not be what you wanna hear.. but that's how I found things to work..
As an earlier reader commented, spot on..
As far as Europe goes, Germany and Italy..
Germany: pretty decent working hours (mostly 9-5, even for software engineers).. huge holidays (try 6 weeks paid vacation;o), great country to travel, hike, mountain climb (I was in Munich, which is 45 min driving away from the Bavarian Alps, beats Lake Tahoe hollow;o))
Italy : Nice place to work in, a bit chaotic, but quite ok.. lots of things, especially culture to absorb, and the women are quite simply 'da bomb'...;o) the southern part has pretty good weather as well, so useful for lazing around in a beach... when you get some time off, that is..
US: sorry guys.. I'm on a visa here.. and the tech is awesome, the pay is good and I lurrrve the bandwidth, but.... its not quite the same as Europe... so overall, I'd probably settle for Europe...
I ran part of the college net when I was in my final year.. this was actually due to a couple of reasons, I guess..
one was that the sysops were continually overworked, trying to support a mostly NT based network (surprise, surprise)..which left no one for the unix/linux based parts..
another was that final year students do projects, and some projects require weird architectures/software installations...
so early
on in the year, they picked out a few students, gave them root and admin passwords and had them as unofficial sysops...
It worked pretty well for lots of reasons..the main reason (in my mind) is that the main form of 'abuse', as termed by the authorities, was gaming on the college networks.. and with student sysops, we'd know enough about the workloads to actually stop gaming if another batch were actually doing assignments/lab sessions etc
end result: everyone was happy..
but I don't see how this would translate to larger universities.. our college was pretty small, avg. student population of about 500-700.. the more ppl there are, the easier to abuse privileges
Well, I have absolutely the same problem.. I'm younger than all of my colleagues by at least 3-4 years.. sometimes, it comes down to rank, I guess.. my opinions are not treated seriously, and its funny/sad to hear that its because I 'don't have experience in the real world', when in reality, I've been working for a lot longer than some of the others..
Early on, I decided I had two options... I could either keep my mouth shut and let them fall on their faces in a project (software development), or I could noisily make my views known and on record, in the hope that at least, later on, ppl would remember and give my opinion some thought instead of dismissing it...
For better or worse, I chose the noisy option, where I'd tell them, and I'd find a lot of supporting evidence for my point of view...it doesn't always work, I can tell you, but its slowly gaining my opinion respect.. so now at least some ppl listen to me and hear what I'm saying, instead of seeing a 'young upstart'... (the exact words used by one of my older colleagues)...
So, my words to you are, pick your battles, don't try to change everyones opinion all at once, and make sure that you have all the facts possible.. then go ahead and do your thing... It worked for me, so I guess it can work out for anyone else...
its a long slow process though.. so be warned...
The OReilly CD bookshelves are really really good value for money, and the space saving on a bookshelf is nothing short of phenomenal (in addition to searchable pages and indexing)
Not all of them are of the same quality, though.. as mentioned earlier, the Perl CD bookshelf is excellent, I'd also highly recommend the Oracle PL/SQL bookshelf (for anyone interested in doing database programming in particular)..
In addition to Code Complete, Rapid Development is also a great book for anyone in the IT industry (this is also written by Steve McConnell).. another couple of great programming books are written by Steve somebody (McGuire ? yup, google tells me that's right.. link here )
Another book highly recommended to me is The Pragmatic programmer, although I haven't gotten hold of a copy yet :).. You've also missed out some literature on Extreme Programming which might come in handy...and here's the link for the FreeBSD book, mentioned earlier...
There is unfortunate precedent for things that could go horribly wrong with this particular experiment.. Not to say that it will, but...
First, "a short sharp burst of radiation" is supposed to make these males sterile. What are the consequences of releasing males that have released a radiation dose below that required for sterilization ? (I mean, how can you make anything except a sample check to be sure ??, seriously). In one fell swoop, that will just increase the population of the flies in the area. (and might even lead to beneficial mutations in subsequent generations :o)
Next, a layman's application of Darwins' theory. Since flies have mating cycles once every few weeks (if I remember premed biology), won't the introduction of sterile flies be negated ? do the numbers, you'd need a release of sterile males that is sufficiently large enough to reach at least 30%-40% of the population of flies in the area).. can't those resources be spent better elsewhere ? (for alternative means of eradication, that is ?)
This has been tried out on mosquitos and so on, IIRC, and it hasn't really made much of an impact... why would this time be different ?
warning: this is just the situation as I see it and have heard.. no official quotes or insider info here
Larry Wall is the founder of Perl, yes.. however, usually he does less active development on the language itself, usually stepping into settle a dispute or submitting the occasional patch.. Since the Perl 6 initiative was launched, he has been busier than in recent years, because of the RFC approval process and being the lead architect for Perl 6.
Damian Conway, in the past year, has contributed (IMHO) enormously to the popularity, usefulness and general knowledge of Perl.. he's toured giving talks and lectures, written more modules per week than even an ordinarily active Perl programmer would write in an year (Ok, some of them, I don't get, and others leave me just scratching my head..) As I understand it, he was given the grant so he could take a sabbatical from his university and concentrate on Perl full time for one year..
so, its irrelevant as to who gets it and in which order.. certainly, I think Larry Wall should get a grant, but to point fingers and question why he wasn't the first to get it, is simply to make a superficial assessment without knowing the facts behind the grants..
One final note: last year, the powers that be committed to funding Damian Conway, and it worked out well, even though they promised money that they hadn't collected (at that point). If you use Perl in any way, please consider making a donation..
I'm personally rooting for Dan Sugalski to work some more on Perl threads :o) hope he finds time for it in the course of the year...
I wonder if anyone realizes that the same can be said of any other piece of software or OS. then, if we apply Darwin's rule to it, that means that smaller groups evolve faster than large ones.. In other words, MacOS and Linux (no one mentioned Linux in that article ??) will be far far ahead than Windows Uber Grande..The larger the userbase, the worse the problems :o) (Virus writers seldom bother targeting obscure software or architectures anyway)
Talk about being a victim of its own marketing success!
Got a cable connection from @home and yes, it says "any type of server" is forbidden. They explicitly mention webservers and ftp servers in this. The cable connection is intended for "typical home internet use" only..
Now, when I installed linux, this caused me some amusement because I had to run an X-server (heh, which when interpreted narrowly, is a violation of the TOS). Also, I use a webserver at home for testing out Perl scripts and stuff.. so both those put me in violation of the TOS.. I also left sshd running so I could check on things while at work. No one warned me for infringement, and anyway, I could argue that this constituted typical internet use for me...
Why don't people start running their webservers on ports other than 80 ? the ISP can't block everything, surely.. and if you really want to share files, run your webserver on an alternate port and you're good to go...
I agree though, if you're running a high traffic site, get something else
You are making a comparison between brute force computation and heuristics/algorithmic analysis.. What you describe can't happen.
In chess, certain segments of the game are fairly stylized. Take for example, openings, which have been researched, analyzed and can generally be committed to memory. Take also end games, which are more or less set pieces where a result can be determined. Most chess playing computers actually store only the openings, and end game positions. To store every possible move is impossible. This is where the algorithmic analysis/heuristics/AI capability comes in. Using some algorithm like alpha-beta minimax, a computer operates the same way we do, by pruning the decision tree until an optimal move can be found.
The advantage for humans is that there are some moves and positions that we can reject automatically, through experience. The advantage for the computer is that even though it cannot reject such obviously flawed moves without consideration, it can actually compute (and consider) more branches of the decision tree than humans (faster calculations)..
A computer will eventually dominate a human player in Chess. But maybe not just yet..
I ran up against this very issue when I submitted my final year project.. It was written in Perl, and it extended the functionality of an existing Perl module, albeit in a different way.. I was invited to submit a patch, join the development of the module, whatever...
Then I read about this obscure clause in the university project guidelines which said, "all the work submitted for the project belongs to the university"... back up a minute here.. WHAT ?
I'd like to add here that this university that I went to encourages projects with "commercial" applications.. its a private university, btw.. Has anyone started using student projects as a basis for products.. well, not yet.. but it always loomed as a possibility, so I went and talked to the Dean..
Upshot: as long as the university name was prominently displayed, I could claim authorship (is that the right word?) for my work.. It, however, could NOT be GPLed (to their credit, the Dean and Head of Department knew exactly what GPL was).. nothing to stop me releasing it commercially or otherwise, but I couldn't make a profit, and no one else could use it without the university having to be contacted...
In the end, it was just too much hassle, so I just chucked it up after I graduated.. so, the bottom line: GPL usually isn't an option, but most universities are willing to negotiate on ownership and intellectual property rights.. so talk it over with the Department head or Dean and work something out..!
Has anyone noticed that the chief editor of Oxford Dictionary is called Simpson too ? ha... that's why Homer Simpson got the nod...
Work-Make money-Hire someone to get a life for you..
I could mention the insane contract clauses that are routinely signed (ok, maybe not in California) that say you cannot work for a competitor (or anyone who competes in the same field)..
How about never sending employees off on any conferences or any sort of professional course, despite repeated requests ? that happens too.. (Oh, we don't have the cash.. but btw, all managers travel Business class)
How about needing to buy books with your own cash, because the company doesn't have any sort of allowance for that ?
My point is that there are lots of companies out there that would try to hang on to their workers at all costs, regardless of the consequences.. they work, very simply on the premise that, if you reduce options, you get "desperate employees" who are "forced" into doing well at their present job.. in other words, they are not "distracted" by other offers...
I've seen all of this and a few more (the Dilbert joke about the PHB making Alice demand all sorts of outrageous things from the client, so she wouldn't be recruited is too close for comfort )...
So... employers help employees better themselves ? not hardly..
Great article... I think Java has probably improved with 1.3, but hey, this is on Solaris, after all... so, I guess its fair.. I'd tend to think that Perl 5.6 is slightly faster than 5.005xx as well... no reason really.. just 'feel' like its running faster ;o)
but on the whole, a very interesting article.. but this won't make the Java language purists budge, even after they see it... :o)
and how prepared they are to enforce regulations...
in my former university, they evaluate the design of a programming project a lot closer than they do the source code.. and I tend to agree with the general view there that its a lot harder to fake a proper design (and sit through a viva) than it is to steal code...
I think this method encourages ppl to look for solutions to problems outside pure coding.. which can only be a good thing.. just my 2c
I do this all the time at work, make competing applications in MySQL/Perl/PHP instead of Access/SQL server/Java... unfortunately, I'm still in the process of looking for a job that allows me to use Linux all the time..
It doesn't always work.. despite the best arguments, the cost factor, the performance factor... There are some who simply will not accept it that way...
I kinda see their point.. they argue that I'm the only guy they have who 'knows' Linux.. and Windows is less steep a learning curve..so it makes more sense for them to use Windows based stuff than Linux, because they can train new guys faster
Sometimes, you just gotta bite down hard and do what you don't like.. it may not be what you wanna hear.. but that's how I found things to work..
As an earlier reader commented, spot on.. As far as Europe goes, Germany and Italy..
Germany: pretty decent working hours (mostly 9-5, even for software engineers).. huge holidays (try 6 weeks paid vacation ;o), great country to travel, hike, mountain climb (I was in Munich, which is 45 min driving away from the Bavarian Alps, beats Lake Tahoe hollow ;o))
Italy : Nice place to work in, a bit chaotic, but quite ok.. lots of things, especially culture to absorb, and the women are quite simply 'da bomb'... ;o) the southern part has pretty good weather as well, so useful for lazing around in a beach... when you get some time off, that is..
US: sorry guys.. I'm on a visa here.. and the tech is awesome, the pay is good and I lurrrve the bandwidth, but.... its not quite the same as Europe... so overall, I'd probably settle for Europe...
just my $0.02 ;o)
I ran part of the college net when I was in my final year.. this was actually due to a couple of reasons, I guess..
one was that the sysops were continually overworked, trying to support a mostly NT based network (surprise, surprise)..which left no one for the unix/linux based parts..
another was that final year students do projects, and some projects require weird architectures/software installations...
so early on in the year, they picked out a few students, gave them root and admin passwords and had them as unofficial sysops...
It worked pretty well for lots of reasons..the main reason (in my mind) is that the main form of 'abuse', as termed by the authorities, was gaming on the college networks.. and with student sysops, we'd know enough about the workloads to actually stop gaming if another batch were actually doing assignments/lab sessions etc
end result: everyone was happy..
but I don't see how this would translate to larger universities.. our college was pretty small, avg. student population of about 500-700.. the more ppl there are, the easier to abuse privileges
Early on, I decided I had two options... I could either keep my mouth shut and let them fall on their faces in a project (software development), or I could noisily make my views known and on record, in the hope that at least, later on, ppl would remember and give my opinion some thought instead of dismissing it...
For better or worse, I chose the noisy option, where I'd tell them, and I'd find a lot of supporting evidence for my point of view...it doesn't always work, I can tell you, but its slowly gaining my opinion respect.. so now at least some ppl listen to me and hear what I'm saying, instead of seeing a 'young upstart'... (the exact words used by one of my older colleagues)...
So, my words to you are, pick your battles, don't try to change everyones opinion all at once, and make sure that you have all the facts possible.. then go ahead and do your thing... It worked for me, so I guess it can work out for anyone else... its a long slow process though.. so be warned...
good luck!!