I think it's less "programmers are special" and more "managers don't realize programmers aren't any different." There seems to be an understanding that interrupting someone deep into some abstract mathematical problem is bad, but (many) managers don't seem to get that interrupting a programmer hacking out a complex method is equally bad.
Past managers I've had really didn't seem to get that a lot of what I did required a fair bit of concentration. After all, it's all done with computers, right? They could do it if they had the time or inclination. (Yes, I've been told that. Shortly before I left).
Interesting that this question comes up now, as I'm just starting to teach programming to a 12 year old.
One of the first things that I worried about was what language to use. After some thought, I decided that as long as a few guidelines were followed in language choice, it didn't really matter. The most important things were:
rapid feedback. Children are remarkably curious (at least based on a few flammable experiments in my parent's basement), but they also like instant feedback. They need to see results, or they'll lose interest.
give them something they can show off. Being able to go to their friends and say "look at the cool thing I did" is great incentive.
avoid theory like the plague. "|| is logical OR and does this..." is boring. "if($friend == 'tracy' || $friend == 'brent') { print "bugger off!"; }" is fun. And better than "hello, world."
simple environment. They're learning a language and a new way of thinking already, no need to make them learn some complex IDE as well.
Language considerations came from that:
"rapid feedback" and "simple environment" meant a scripting language (no compile step), and a text editor. A side benefit of this was portability. I can teach on my linux box or her windows machine.
"showing off" meant something web based. She already knows HTML and maintains more websites than I can count, and a lot of her friends are online. She linked her first lesson from her homepage, so this seemed to be a good decision.
ability to use a subset of the language. I wanted to jump into making stuff right away, rather than spending three lessons getting up to speed on language requirements.
This all translated into a text editor, PHP and assignments uploaded to her site. I seriously considered Perl and Python (especially Python - as it turns out that would have been very handy for teaching proper style. The concept of whitespace and proper indenting is surprisingly difficult to instill;) ). PHP isn't my favorite language for a lot of reasons, but it's fine for teaching control flow, logic, data structures, modularity. It was handily available on her server, and meant she could show her work to her web friends right away. Python might be better in a classroom situation, because there's a pool of people with a similar environment that work can be shown to.
At any rate, we're only three lessons in, so this is still in the expermintal stages. But if you're interested in swapping experiences, reply to this and I'll leave an email address.
One of our biggest constraints is people in corporate settings that are still running NT4 with NS4.x. If you have any kind of corporate-type audience, there's a good chance you've got enough people with this older set up than you can just write off.
It's getting there, though. We're slowly deprecating older browsers. We have to be more conservative than ESPN; most of our clients are targeting a different audience. Hopefully we'll be able to make the full switch for most of our clients in about a year's time.
It's slow, but I'm just glad I don't have to check in NS2 and IE3 anymore....
The first that springs to mind is Ray Bradbury. He's published at least two volumes of poetry with wide ranging subject matter (rather like his fiction, for that mattter). It's not necessarily to everyone's taste in the same sense that his short stories may not be; that is, he's obviously having fun and they're extremely un-pretentious. I enjoyed them.
While I was googling for another name (which I unfortunately couldn't find), I discovered that both Ursula K. LeGuin and Thomas Disch have published poetry. Not sure how technology oriented any of it is. I think I'll be looking for some of it though, especially Disch.
Finally, you may want to check out the Rhysling Awards (also a collection) and Star*Line, the newsletter of the Science Fiction Poetry Association.
The Second Amendment was put in place by our founding fathers to ensure that the People will always have the means to defend their Freedoms against would-be tyrants.
I must agree on your comment about a Strategist. Whether you follow XP or not, you need this. A client might well know their business inside and out, but it's unlikely they know that much about the internet (or they probably wouldn't need the likes of us), or how this tool relates to it. And we've had plent of clients where even key people in the company hadn't really given much thought to certain critical business issues. A good part of our job is discovering and exploring this.
It's a lot of work, but a good strategist will keep you sane.
That's a tricky one. I like that the Free Software label describes exactly what it is, but I never would have been able to convince my last place of work to use anything called "Free Software" just because they wouldn't have gotten the fine distinction of the capital "F". For them, it was "free software" and equivalent with "freeware" and "crap." And unless you live in eastern Canada, just trying to get people to pronounce "Software Libre" (a moniker I like even better. The french have a much better word for Free) is a lost cause. Basically, I was able to sell them on the usual advantages of having the source code, making "Open Source" easier marketing for me.
Now "Open Source" has mindshare, and trying to get people to understand that it's really "Software Libre" (hard for those with less nimble tongues to pronounce) could make things that much harder.
Personally, I'd be happy if a few more MBAs had better Real Language[tm] skills, but some still think "embiggen"* is a real word.
* Not a Simpson's reference, a real phrase frequently used at last said place of work.
Y'know, I knew when I wrote that, that would be the response. You've missed my point.
Blaming a language for the shortcomings of it's programmers isn't a valid criticism, but pointing out that a language encourages certain kinds of bad behaviour is entirely relevant. C lends itself to memory leaks, Java lends itself to over-architecting (ok, arguable, but I'm trying to get an idea across here).
When PHP came around, it said "put <?php and ?> around your PHP and the output will get stuffed into your HTML." That was the whole idea. Templating systems came after to fix that idea. So, yes, the language does encourage mixing code and presentation. You don't have to do it, but it's a valid criticism.
I'm aware that there are templating solutions available for PHP, but the ordinary, default way to do things is to embed PHP code in HTML. This is the way most people learn it, and I'd wager the way most continue to use it, regardless of what templating tools become available. (I know it's the way most scripts I've been called in to fix do it). It's what the language was designed to do.
I'm not saying that you can't use templates with PHP, I'm saying that the design of the language encourages you to mix your code and HTML into one big soup. Using something like smarty adds a layer of complexity because it presents a different way of doing what the language was originally designed to do, just in a smarter, safer way. Using something like HTML::Template gives you a way of doing something that wasn't present in the language to begin with.
Which you prefer is to a large extent a matter of philosophy.
This isn't a troll but a real answer. Almost nothing.
Perl is more concise, has a superior collection of modules, is mature and has a more planned feel (for example, the whole register globals thing, or the changing of global array names in PHP are evidence of this). These things make perl eaiser and mroe productive to work with.
Other people (not me;) ) like PHP because they say it has a lower barrier to entry so that less experienced developers can get up to speed faster. There's usually some comment about readability, but I think that's a bit of a red herring. Using Mason or Ax Kit or (insert templating system here) in perl will get you that much beloved separation of code and presentation that PHP tries so hard to discourage.
And after all that, I use PHP almost exclusively now. The biggest reason is deployment. I work on sites on numerous servers, and I never know where things will live. It got to be too much of a headache making sure the appropriate perl modules (eg, DBI) would be available. My biggest wish for Perl 6 isn't easier to read regexes, it's some kind of SDK system, where sysadmins can install perl with the Web Development SDK, or the what have you.
Your question sounds more like you're talking about developing e-commerce sites, as opposed to setting up your own gateway, or handling the hosting as other posters have assumed. (I'd agree you don't want to get anywhere near those two things, for the liability issues, if nothing else).
There are some very good e-commerce packages out there (Yahoo store is not one. I'll save you the rant unless you want more details). Someone mentioned oscommerce, which I've not used, but I have looked at it, and it seems viable. Interchange (sorry, no time to find the link) is another excellent solution, especially if you have in-house perl experience.
What this really depends on is how much in-house web development experience you have. If it's just been the occasional static HTML brochure site, with wizzy flash and multi-media stuff, you're in for a steep learning curve, and you're probably better off partnering with a local firm that specializes in web development. With any decent e-commerce site, you're going to be doing a lot of custom coding to get it to do what you want, no matter what package you use. No client ever wants just what the canned package offers, you'll nearly always need to extend it somehow.
I became vegetarian for the health benefits (and partly because I was never that fond of meat to begin with), and generally try not to make that big a deal of the ethical issues. They are one of the reasons I am a vegetarian now, but it's a tiresome dinner-table topic of conversation.
So, to answer your question, no, I wouldn't start eating vat-grown meat, as the ethical reasons are only part of the story for me. (I might consider a weekly vat-salmon, if it was shown to have health benefits. Maybe) . However, I would certainly welcome the widespread adoption of this kind of meat because it's cruelty free and environmentally smarter.
And grown ivory and leather - I'd be all for that. I imagine it would be much easier to get people to adopt as well, as there's no yuck-factor. Although, if there are still lots of real cows being eaten, there won't be much motivation for companies to make their own leather, as lots will still be readily and cheaply available. This could be a very good step for better stewardship of the planet, though. I think it's good news.
Just because there are some nutbags in PETA doesn't mean that being against cruelty to animals makes you less rational. I know that's only implied in your post (and perhaps it was unintended), but it's silly. If growing meat in vats reduces the number that are kept in pens and slaughtered, I imagine they'd be for it, rather than against. I'm a vegeterian, and while I wouldn't touch a vat-grown steak any sooner than one from the hoof, it would change the dynamics to a personal health choice, rather than a question of abusing animals. If it became widespread, it could also answer other objections, such as the incredibly inefficient use of land and feed. Overall, this seems pretty smart.
I don't understand all the punditry about what linux should become either. I've been using it as a quite productive workstation for something like 4 years now. It wouldn't work for all of the members of the web development team I work with (our designer/graphic artist, for one, is married to CorelDraw. There was brief hope a while ago about that, and she was casting envious eyes at my machine, but that wasn't to be), but it fits my needs exactly.
In my entirely subjective opinion, KDE (or blackbox, my old favorite), provides a much easier to work in environment than XP. I have to click on things less, which though it sounds small, makes a huge difference after the thirteenth hour at the machine.
I have all the tools I need to work with - a good, standards compliant browser (developing to standards first, and then retrofitting for broken browers is so much easier), an excellent email/organizer app (evolution is my current choice), office apps (KOffice usually, now that they've got good Word and Excel filters), plus I can develop directly on the same environment that we usually deploy on (LAMP). And my beloved command line, that makes many daily tasks much faster than anything I've been able to jury-rig in Windows.
Those occasions when I need to work in Windows, usually getting javascript stuff to work in IE, are honestly painful. Partly due to lack of familiarity, sure, but largely because the GUI is so damned unfriendly. I can't conveniently size windows just the way I want them, the filesystem is cluttered with "My Crap", the taskbar rapidly fills up with all the windows I have open and I can't see what's there, it takes too many click to get to the window I want...just a list of small annoyances which I'm sure most Windows users don't notice because they're used to them. For me, used to an environment designed to get the hell out of my way, it's like chewing my fingers off.
So, yes, I think there are a lot of us out there, happily using linux in productive, business environments, and never wishing linux was more like Windows.
Putting aside the flame-inducing child porn reference, you're still way off. The host is more like a news stand, and you're the author of what they're distributing.
This is about authorship. If I post on a blog "Hilary Rosen is a heroin addict, it's affecting her judgement, and I have proof, here are the pictures [insert doctored photos here]", she can sue your ass for libel, and rightfully so (assuming you don't have real proof that she is, of course). There's no reason web content should be immune from standard libel laws, or other laws that govern free speech.
Of course, they should also be protected by those same laws. What's really distressing are moves by various entities that are trying to exert more control over online publishing than they'd have over traditional media.
It's based on ECMAscript, so it's not really learning a whole other language. This was smart on TrollTech's part - no one's interested in learning a whole other language just to interface with pretty widgets. This'll make it very accessible to a lot of developers.
Should open up some interesting possibilities for KDE, too.
This sounds like a very good thing, and will address many of the things I find cumbersome about the language (namespaces!). But while it sounds full of objecty-goodness, does anyone know how backward compatible this will be with PHP4? It sounds like major changes are in the works, and rewriting my code in six months sounds about as much fun as putting pencils in my eyes.
Re:Merits of PHP compared to Perl?
on
Professional PHP4
·
· Score: 2
heh. Point taken. This is probably one of those places where my being more familiar with perl colors my opinion. It can be hard for someone new to it to find what their looking for in the pod. I still think that, once you've figured out where things are, it's generally more polished than the PHP docs. I often find those cryptic, and sometimes downright unhelpful. And the user-annotation on the PHP docs _can_ be great, but it can also be downright inaccurate. Not that I don't think it's a great idea, and I check it frequently myself. You just have to be careful with it. POD's got a long ways to go itself - it could learn a lot from, for example, the JavaDoc format. But I've always found the content very to the point and "expert friendly."
Which is maybe one of the big differences - the perl docs aren't really meant for learning, they're for reference. When I'm in a hurry, they're just what I want. As always, YMMV.
I've been trying to dig up info on the efficiency of using references in PHP4. The best I've come up with is "it depends, benchmark", which is good advice and all, but it's a bit counter-intuitive. I would have expected references to be generally more efficient. Somewhere in my searchings I came across a post by [one of the core PHP developers] that said something to the effect that references were very rarely more efficient, and in the next PHP release you should almost always avoid them unless you needed them for some other reason. I naturally forgot to bookmark it.
Anyway, do you (or anyone else out there) have a helpful clue to share>
Thanks....
Re:Merits of PHP compared to Perl?
on
Professional PHP4
·
· Score: 2
I've done a fair bit of development in both PHP and Perl
(mostly web development, which is what I assume you're referring
to). I'm not a PHP expert by any means, and I've been doing Perl
for much longer, so take that into consideration.
Perl is more succinct. Depending on your point of view, this is
a good or a bad thing. You do need to acquire a higher proficiency
with the language than is necessary with PHP in order to really
make this useful, and to make sure that less experienced programmers
on your team aren't confused. Things like use English; can help,
but if someone really feels like shoving an evaluated regex into
a map call, you can't stop them. (I feel like this often). I find
that I often resent how much more typing I have to do in PHP.
Perl is more mature. PHP is coming along rapidly, but things like
recent major changes with super-globals and default config options
(register_globals) do make
it feel a little unfinished and slightly unplanned. They're just
growing pains, but you still have to deal with them.
This is also reflected in the documentation. PHP has pretty good
documentation. Perl's is excellent. It's had a few more years
to polish it.
Debugging is much, much easier in Perl. The perl command line debugger
is a great tool, and I wish PHP had something like it.
If you don't have control over where it's going to live, PHP is
easier to deploy. This is the single reason I use PHP almost
exclusively for web development these days, and I hope this is
addressed in Perl6. With PHP I can simply specify PHP version x and
MySQL are required. If PHP is on the server, it's almost guaranteed
that MySQL is and that's it's all hooked up nice. With Perl, if
you need something that requires a C extension (eg, DBI), the host
may or may not have it, depending on how much the admins like
installing extra stuff. If you have appropriate access you can
install it yourself, but if you don't, you're out of luck. Whether
or not this is an issue for you depends on where your planning to
deploy.
CPAN. CPAN is marvelous. There is an immense amount of useful Perl
code in there. If you want to do something, there's a good bet
someone else has wanted to, too, and contributed it. The PHP
community is working hard at building something like it, but CPAN
has years on it.
Regarding perl compilation - I was going to take a stab at it,
but it's been too long since I've had to read up on it, and I'd
bullocks up the details. If you have a copy of the camel (version 3)
handy, there's a good section on it in there. Sorry, don't have a
link handy.
I am also sick of all these "yuppie elite entrepreneur scum", not least because I recently worked for a couple. They wanted to have a consultancy because they figured it was their in to the moneyed C?0 scene. Couldn't run a business and didn't care to.
Being an "entrepreneur" is just jumping in and doing it on your own. Doesn't require some brilliant idea, just a mountain of hard work, a solid business plan and a good accountant (yes, Virgina, I was that boy). Ideas are a dime a dozen. Doing something with them, and sticking to it even when it gets really, really hard (it will - everyone warns you about it, but you have no idea what it's like until you're there. But the pros far outweigh that). Even the really crafty ideas probably have a dozen companies working on them, so just a good idea won't get you anywhere.
</end rant type="re other stupid posts in thread">
To the story poster, (I think) applying your IT skills to a niche sector is definitely a good idea. Agriculture is neck deep in IT, but servicing them directly could be an excellent plan if you're in an agriculture-intense area. Contacts will help even more than usual - agriculture (at least around here) is just barely moving out of the old-boys network days. Health care is another area crying for good IT work. There's an unusual number of shoddy IT providers in that market. If you're better than they are, you've got a good shot. Someone else mentioned service industry and restaurants - maybe look into setting up something centralized where they can get _all_ their stuff instead of dealing with a dozen different providers. Highly time sensitive, but might benefit from an efficient, centralized source. Just un-researched, off-the-top of my head thoughts, so take them for what they're worth ($.02, CDN).
You can implement MVC in any language. I've built one using PHP that has made development of complex web apps many times faster and easier to maintain than some random collection of pages with SQL embedded all throughout them. One page takes the request, makes the appropriate calls for whatever action is being taken (just a collection of included files, really), and they rely on a series of objects to do the actual heavy lifting - manipulate data, interact with the database, etc. Designers can change the look of the site without ever touching a line of PHP, coders can change the way the backend works without ever seeing any HTML. And once the framework is in place, you never need to worry about it again.
For a simple one-off mailing form or some such, there's no point in the more complex architecture. But if you need to perform many different operations, aren't sure what the client's going to ask for next, and want to be able to change how things look or work without poring through miles of unrelated cruft, it's a godsend.
To a large extent MVC is about injecting a big load of discipline into your work so you only need to worry about the relevant portion of your app instead of the whole spaghetti mess of it. In the short term, you can probably pull something together "that works" faster just by sitting down and coding, but the long term benefits more than make up for it.
I'd like to add to that that the only jobs that buzzword compliance will help you with are the backroom/cubicle "that's where we keep our geeks" kind of job. Some want that, and that's fine, but it's really as far as a trendy CV will get you. What's more, it will just put you in the pool with all the others that have a similar set on the resume (and there are a lot out there right now).
It sounds like you've got miles of experience to differentiate you, so I'd say the same thing I recently told a friend in a similar spot - network. I was horrible at this two years ago, until me and some friends launched our own company. It's the single most valuable skill I've learned since then, and I've started seeing the value of it from the employer's perspective as well.
If I'm looking for someone to fill a specific role, my first thought is "do I know someone who could do this?" Not necessarily do they already know language X, but who would be good at it. Could they talk to a client if they had to? Will I be able to work with them? All of those are things you can't figure out from a piece of paper.
Granted, this is more effective at getting contract work, or a position with a smaller company, so if that's not what you're after, you'll have to read someone else's post. But if I'm looking to hire/outsource, it's the criteria I use.
And if your local PHB asks if that new intranet software thingy can be made to see what people on the network are doing, what kind of answer will you give him?
Lawyers are a lot like geeks in many ways - they deal with complex, arcane and occasionally contradictory material, and know that a specific answer to a broad question is almost always a bad thing. They also get asked a lot of poorly-defined (by their standards) questions and have people get annoyed at what is seen as evasiveness, when it's really just an acknowledgement of the hidden complexity of the domain.
Unlike most geeks, however, lawyers typically have good communications skills.
I think it's less "programmers are special" and more "managers don't realize programmers aren't any different." There seems to be an understanding that interrupting someone deep into some abstract mathematical problem is bad, but (many) managers don't seem to get that interrupting a programmer hacking out a complex method is equally bad.
Past managers I've had really didn't seem to get that a lot of what I did required a fair bit of concentration. After all, it's all done with computers, right? They could do it if they had the time or inclination. (Yes, I've been told that. Shortly before I left).
Interesting that this question comes up now, as I'm just starting to teach programming to a 12 year old.
One of the first things that I worried about was what language to use. After some thought, I decided that as long as a few guidelines were followed in language choice, it didn't really matter. The most important things were:
Language considerations came from that:
This all translated into a text editor, PHP and assignments uploaded to her site. I seriously considered Perl and Python (especially Python - as it turns out that would have been very handy for teaching proper style. The concept of whitespace and proper indenting is surprisingly difficult to instill ;) ). PHP isn't my favorite language for a lot of reasons, but it's fine for teaching control flow, logic, data structures, modularity. It was handily available on her server, and meant she could show her work to her web friends right away. Python might be better in a classroom situation, because there's a pool of people with a similar environment that work can be shown to.
At any rate, we're only three lessons in, so this is still in the expermintal stages. But if you're interested in swapping experiences, reply to this and I'll leave an email address.
One of our biggest constraints is people in corporate settings that are still running NT4 with NS4.x. If you have any kind of corporate-type audience, there's a good chance you've got enough people with this older set up than you can just write off.
It's getting there, though. We're slowly deprecating older browsers. We have to be more conservative than ESPN; most of our clients are targeting a different audience. Hopefully we'll be able to make the full switch for most of our clients in about a year's time.
It's slow, but I'm just glad I don't have to check in NS2 and IE3 anymore....
The first that springs to mind is Ray Bradbury. He's published at least two volumes of poetry with wide ranging subject matter (rather like his fiction, for that mattter). It's not necessarily to everyone's taste in the same sense that his short stories may not be; that is, he's obviously having fun and they're extremely un-pretentious. I enjoyed them.
While I was googling for another name (which I unfortunately couldn't find), I discovered that both Ursula K. LeGuin and Thomas Disch have published poetry. Not sure how technology oriented any of it is. I think I'll be looking for some of it though, especially Disch.
Finally, you may want to check out the Rhysling Awards (also a collection) and Star*Line, the newsletter of the Science Fiction Poetry Association.
So, how's that working out for you?
I must agree on your comment about a Strategist. Whether you follow XP or not, you need this. A client might well know their business inside and out, but it's unlikely they know that much about the internet (or they probably wouldn't need the likes of us), or how this tool relates to it. And we've had plent of clients where even key people in the company hadn't really given much thought to certain critical business issues. A good part of our job is discovering and exploring this.
It's a lot of work, but a good strategist will keep you sane.
That's a tricky one. I like that the Free Software label describes exactly what it is, but I never would have been able to convince my last place of work to use anything called "Free Software" just because they wouldn't have gotten the fine distinction of the capital "F". For them, it was "free software" and equivalent with "freeware" and "crap." And unless you live in eastern Canada, just trying to get people to pronounce "Software Libre" (a moniker I like even better. The french have a much better word for Free) is a lost cause. Basically, I was able to sell them on the usual advantages of having the source code, making "Open Source" easier marketing for me.
Now "Open Source" has mindshare, and trying to get people to understand that it's really "Software Libre" (hard for those with less nimble tongues to pronounce) could make things that much harder.
Personally, I'd be happy if a few more MBAs had better Real Language[tm] skills, but some still think "embiggen"* is a real word.
* Not a Simpson's reference, a real phrase frequently used at last said place of work.
Y'know, I knew when I wrote that, that would be the response. You've missed my point.
Blaming a language for the shortcomings of it's programmers isn't a valid criticism, but pointing out that a language encourages certain kinds of bad behaviour is entirely relevant. C lends itself to memory leaks, Java lends itself to over-architecting (ok, arguable, but I'm trying to get an idea across here).
When PHP came around, it said "put <?php and ?> around your PHP and the output will get stuffed into your HTML." That was the whole idea. Templating systems came after to fix that idea. So, yes, the language does encourage mixing code and presentation. You don't have to do it, but it's a valid criticism.
I'm aware that there are templating solutions available for PHP, but the ordinary, default way to do things is to embed PHP code in HTML. This is the way most people learn it, and I'd wager the way most continue to use it, regardless of what templating tools become available. (I know it's the way most scripts I've been called in to fix do it). It's what the language was designed to do.
I'm not saying that you can't use templates with PHP, I'm saying that the design of the language encourages you to mix your code and HTML into one big soup. Using something like smarty adds a layer of complexity because it presents a different way of doing what the language was originally designed to do, just in a smarter, safer way. Using something like HTML::Template gives you a way of doing something that wasn't present in the language to begin with.
Which you prefer is to a large extent a matter of philosophy.
This isn't a troll but a real answer. Almost nothing.
Perl is more concise, has a superior collection of modules, is mature and has a more planned feel (for example, the whole register globals thing, or the changing of global array names in PHP are evidence of this). These things make perl eaiser and mroe productive to work with.
Other people (not me ;) ) like PHP because they say it has a lower barrier to entry so that less experienced developers can get up to speed faster. There's usually some comment about readability, but I think that's a bit of a red herring. Using Mason or Ax Kit or (insert templating system here) in perl will get you that much beloved separation of code and presentation that PHP tries so hard to discourage.
And after all that, I use PHP almost exclusively now. The biggest reason is deployment. I work on sites on numerous servers, and I never know where things will live. It got to be too much of a headache making sure the appropriate perl modules (eg, DBI) would be available. My biggest wish for Perl 6 isn't easier to read regexes, it's some kind of SDK system, where sysadmins can install perl with the Web Development SDK, or the what have you.
sigh. I miss perl.
Your question sounds more like you're talking about developing e-commerce sites, as opposed to setting up your own gateway, or handling the hosting as other posters have assumed. (I'd agree you don't want to get anywhere near those two things, for the liability issues, if nothing else).
There are some very good e-commerce packages out there (Yahoo store is not one. I'll save you the rant unless you want more details). Someone mentioned oscommerce, which I've not used, but I have looked at it, and it seems viable. Interchange (sorry, no time to find the link) is another excellent solution, especially if you have in-house perl experience.
What this really depends on is how much in-house web development experience you have. If it's just been the occasional static HTML brochure site, with wizzy flash and multi-media stuff, you're in for a steep learning curve, and you're probably better off partnering with a local firm that specializes in web development. With any decent e-commerce site, you're going to be doing a lot of custom coding to get it to do what you want, no matter what package you use. No client ever wants just what the canned package offers, you'll nearly always need to extend it somehow.
I became vegetarian for the health benefits (and partly because I was never that fond of meat to begin with), and generally try not to make that big a deal of the ethical issues. They are one of the reasons I am a vegetarian now, but it's a tiresome dinner-table topic of conversation.
So, to answer your question, no, I wouldn't start eating vat-grown meat, as the ethical reasons are only part of the story for me. (I might consider a weekly vat-salmon, if it was shown to have health benefits. Maybe) . However, I would certainly welcome the widespread adoption of this kind of meat because it's cruelty free and environmentally smarter.
And grown ivory and leather - I'd be all for that. I imagine it would be much easier to get people to adopt as well, as there's no yuck-factor. Although, if there are still lots of real cows being eaten, there won't be much motivation for companies to make their own leather, as lots will still be readily and cheaply available. This could be a very good step for better stewardship of the planet, though. I think it's good news.
Just because there are some nutbags in PETA doesn't mean that being against cruelty to animals makes you less rational. I know that's only implied in your post (and perhaps it was unintended), but it's silly. If growing meat in vats reduces the number that are kept in pens and slaughtered, I imagine they'd be for it, rather than against. I'm a vegeterian, and while I wouldn't touch a vat-grown steak any sooner than one from the hoof, it would change the dynamics to a personal health choice, rather than a question of abusing animals. If it became widespread, it could also answer other objections, such as the incredibly inefficient use of land and feed. Overall, this seems pretty smart.
I don't understand all the punditry about what linux should become either. I've been using it as a quite productive workstation for something like 4 years now. It wouldn't work for all of the members of the web development team I work with (our designer/graphic artist, for one, is married to CorelDraw. There was brief hope a while ago about that, and she was casting envious eyes at my machine, but that wasn't to be), but it fits my needs exactly.
In my entirely subjective opinion, KDE (or blackbox, my old favorite), provides a much easier to work in environment than XP. I have to click on things less, which though it sounds small, makes a huge difference after the thirteenth hour at the machine.
I have all the tools I need to work with - a good, standards compliant browser (developing to standards first, and then retrofitting for broken browers is so much easier), an excellent email/organizer app (evolution is my current choice), office apps (KOffice usually, now that they've got good Word and Excel filters), plus I can develop directly on the same environment that we usually deploy on (LAMP). And my beloved command line, that makes many daily tasks much faster than anything I've been able to jury-rig in Windows.
Those occasions when I need to work in Windows, usually getting javascript stuff to work in IE, are honestly painful. Partly due to lack of familiarity, sure, but largely because the GUI is so damned unfriendly. I can't conveniently size windows just the way I want them, the filesystem is cluttered with "My Crap", the taskbar rapidly fills up with all the windows I have open and I can't see what's there, it takes too many click to get to the window I want...just a list of small annoyances which I'm sure most Windows users don't notice because they're used to them. For me, used to an environment designed to get the hell out of my way, it's like chewing my fingers off.
So, yes, I think there are a lot of us out there, happily using linux in productive, business environments, and never wishing linux was more like Windows.
heh. True. What I should have said was that "to be able to defend yourself in court, you'd better have real proof that she is..."
Which sorta means safe, if by safe you mean "racking up large lawyer's fees and wasting your life in court."
Maybe we could just go back to trial by ordeal. I'll taste a hot coal if she will.
Putting aside the flame-inducing child porn reference, you're still way off. The host is more like a news stand, and you're the author of what they're distributing.
This is about authorship. If I post on a blog "Hilary Rosen is a heroin addict, it's affecting her judgement, and I have proof, here are the pictures [insert doctored photos here]", she can sue your ass for libel, and rightfully so (assuming you don't have real proof that she is, of course). There's no reason web content should be immune from standard libel laws, or other laws that govern free speech.
Of course, they should also be protected by those same laws. What's really distressing are moves by various entities that are trying to exert more control over online publishing than they'd have over traditional media.
IJBT (I've Just Been Trolled)
It's based on ECMAscript, so it's not really learning a whole other language. This was smart on TrollTech's part - no one's interested in learning a whole other language just to interface with pretty widgets. This'll make it very accessible to a lot of developers.
Should open up some interesting possibilities for KDE, too.
This sounds like a very good thing, and will address many of the things I find cumbersome about the language (namespaces!). But while it sounds full of objecty-goodness, does anyone know how backward compatible this will be with PHP4? It sounds like major changes are in the works, and rewriting my code in six months sounds about as much fun as putting pencils in my eyes.
heh. Point taken. This is probably one of those places where my being more familiar with perl colors my opinion. It can be hard for someone new to it to find what their looking for in the pod. I still think that, once you've figured out where things are, it's generally more polished than the PHP docs. I often find those cryptic, and sometimes downright unhelpful. And the user-annotation on the PHP docs _can_ be great, but it can also be downright inaccurate. Not that I don't think it's a great idea, and I check it frequently myself. You just have to be careful with it. POD's got a long ways to go itself - it could learn a lot from, for example, the JavaDoc format. But I've always found the content very to the point and "expert friendly."
Which is maybe one of the big differences - the perl docs aren't really meant for learning, they're for reference. When I'm in a hurry, they're just what I want. As always, YMMV.
I've been trying to dig up info on the efficiency of using references in PHP4. The best I've come up with is "it depends, benchmark", which is good advice and all, but it's a bit counter-intuitive. I would have expected references to be generally more efficient. Somewhere in my searchings I came across a post by [one of the core PHP developers] that said something to the effect that references were very rarely more efficient, and in the next PHP release you should almost always avoid them unless you needed them for some other reason. I naturally forgot to bookmark it.
Anyway, do you (or anyone else out there) have a helpful clue to share>
Thanks....
I've done a fair bit of development in both PHP and Perl (mostly web development, which is what I assume you're referring to). I'm not a PHP expert by any means, and I've been doing Perl for much longer, so take that into consideration.
Perl is more succinct. Depending on your point of view, this is a good or a bad thing. You do need to acquire a higher proficiency with the language than is necessary with PHP in order to really make this useful, and to make sure that less experienced programmers on your team aren't confused. Things like use English; can help, but if someone really feels like shoving an evaluated regex into a map call, you can't stop them. (I feel like this often). I find that I often resent how much more typing I have to do in PHP.
Perl is more mature. PHP is coming along rapidly, but things like recent major changes with super-globals and default config options (register_globals) do make it feel a little unfinished and slightly unplanned. They're just growing pains, but you still have to deal with them.
This is also reflected in the documentation. PHP has pretty good documentation. Perl's is excellent. It's had a few more years to polish it.
Debugging is much, much easier in Perl. The perl command line debugger is a great tool, and I wish PHP had something like it.
If you don't have control over where it's going to live, PHP is easier to deploy. This is the single reason I use PHP almost exclusively for web development these days, and I hope this is addressed in Perl6. With PHP I can simply specify PHP version x and MySQL are required. If PHP is on the server, it's almost guaranteed that MySQL is and that's it's all hooked up nice. With Perl, if you need something that requires a C extension (eg, DBI), the host may or may not have it, depending on how much the admins like installing extra stuff. If you have appropriate access you can install it yourself, but if you don't, you're out of luck. Whether or not this is an issue for you depends on where your planning to deploy.
CPAN. CPAN is marvelous. There is an immense amount of useful Perl code in there. If you want to do something, there's a good bet someone else has wanted to, too, and contributed it. The PHP community is working hard at building something like it, but CPAN has years on it.
Regarding perl compilation - I was going to take a stab at it, but it's been too long since I've had to read up on it, and I'd bullocks up the details. If you have a copy of the camel (version 3) handy, there's a good section on it in there. Sorry, don't have a link handy.
HTH
I am also sick of all these "yuppie elite entrepreneur scum", not least because I recently worked for a couple. They wanted to have a consultancy because they figured it was their in to the moneyed C?0 scene. Couldn't run a business and didn't care to.
Being an "entrepreneur" is just jumping in and doing it on your own. Doesn't require some brilliant idea, just a mountain of hard work, a solid business plan and a good accountant (yes, Virgina, I was that boy). Ideas are a dime a dozen. Doing something with them, and sticking to it even when it gets really, really hard (it will - everyone warns you about it, but you have no idea what it's like until you're there. But the pros far outweigh that). Even the really crafty ideas probably have a dozen companies working on them, so just a good idea won't get you anywhere.
</end rant type="re other stupid posts in thread">
To the story poster, (I think) applying your IT skills to a niche sector is definitely a good idea. Agriculture is neck deep in IT, but servicing them directly could be an excellent plan if you're in an agriculture-intense area. Contacts will help even more than usual - agriculture (at least around here) is just barely moving out of the old-boys network days. Health care is another area crying for good IT work. There's an unusual number of shoddy IT providers in that market. If you're better than they are, you've got a good shot. Someone else mentioned service industry and restaurants - maybe look into setting up something centralized where they can get _all_ their stuff instead of dealing with a dozen different providers. Highly time sensitive, but might benefit from an efficient, centralized source. Just un-researched, off-the-top of my head thoughts, so take them for what they're worth ($.02, CDN).
You can implement MVC in any language. I've built one using PHP that has made development of complex web apps many times faster and easier to maintain than some random collection of pages with SQL embedded all throughout them. One page takes the request, makes the appropriate calls for whatever action is being taken (just a collection of included files, really), and they rely on a series of objects to do the actual heavy lifting - manipulate data, interact with the database, etc. Designers can change the look of the site without ever touching a line of PHP, coders can change the way the backend works without ever seeing any HTML. And once the framework is in place, you never need to worry about it again.
For a simple one-off mailing form or some such, there's no point in the more complex architecture. But if you need to perform many different operations, aren't sure what the client's going to ask for next, and want to be able to change how things look or work without poring through miles of unrelated cruft, it's a godsend.
To a large extent MVC is about injecting a big load of discipline into your work so you only need to worry about the relevant portion of your app instead of the whole spaghetti mess of it. In the short term, you can probably pull something together "that works" faster just by sitting down and coding, but the long term benefits more than make up for it.
I'd like to add to that that the only jobs that buzzword compliance will help you with are the backroom/cubicle "that's where we keep our geeks" kind of job. Some want that, and that's fine, but it's really as far as a trendy CV will get you. What's more, it will just put you in the pool with all the others that have a similar set on the resume (and there are a lot out there right now).
It sounds like you've got miles of experience to differentiate you, so I'd say the same thing I recently told a friend in a similar spot - network. I was horrible at this two years ago, until me and some friends launched our own company. It's the single most valuable skill I've learned since then, and I've started seeing the value of it from the employer's perspective as well.
If I'm looking for someone to fill a specific role, my first thought is "do I know someone who could do this?" Not necessarily do they already know language X, but who would be good at it. Could they talk to a client if they had to? Will I be able to work with them? All of those are things you can't figure out from a piece of paper.
Granted, this is more effective at getting contract work, or a position with a smaller company, so if that's not what you're after, you'll have to read someone else's post. But if I'm looking to hire/outsource, it's the criteria I use.
And if your local PHB asks if that new intranet software thingy can be made to see what people on the network are doing, what kind of answer will you give him?
Lawyers are a lot like geeks in many ways - they deal with complex, arcane and occasionally contradictory material, and know that a specific answer to a broad question is almost always a bad thing. They also get asked a lot of poorly-defined (by their standards) questions and have people get annoyed at what is seen as evasiveness, when it's really just an acknowledgement of the hidden complexity of the domain.
Unlike most geeks, however, lawyers typically have good communications skills.