As a self-taught PHP and C# Developer, the biggest trouble has already been outlined as limited exposure to new concepts. The bigger question, however, is how to gain exposure.
#1 - User Groups
I personally don't attend user groups because I have 2 jobs, and 2 kids, however, the Ruby community has shown again and again that it works, not just for the new stuff, but for the old stuff. They just overhauled Rails and as long as the community keeps talking, they'll do it again and again to perfection.
#2 - Contracting
It's a large assumption, but if you have the time to learn a language, you've got time to find small contracts, and hopefully ones that will introduce you to knew people with difference foci (focuses?). Also, digging unto other people's code helps you think outside of the structures that you taught yourself - you might even get some extra cash. Check out craigs list, elance, etc
#3 - Open Source
Not as good for your wallet up front, but if you think you have a unique perspective that is applicable to an existing project, donate some code. Bug fixes are just as valuable as new features.
#4 - Publications
I use this in the loosest sense of the word possible. I "camp" PHP.net because there are new functions popping up all the time. Their search database is fairly decent, so when you're thinking like a PHP dev, put a word or two in and see what pops up. MSDN isn't too bad either, but the naming conventions vary, and it's so large that simply search for keywords is a challenge (They have an "OrderedDictionary, but not a UniqueList...?)
#5 - Inspiration (& Perspiration)
Nothing develops with out the the will power and simply getting things done. Going back to #3, you can simply start your own project or feature. Lots of things are pluggable these days, and if your desired functionality doesn't exist, don't cry about it - build it! PHP doesn't have events, because events don't make a lot of sense on the Web.... HOWEVER, if you're writing a PHP-JS-AJAX framework, then they make a LOT of sense. Noone says you HAVE to release your code either... managing a repo is a lot of work. The point is to build something, find the pain points, then ask yourself "Is there a better way to do this?" Find the better way, build it, and make your life easier... then share it if you can.
Albeit, statistics can always be skewed to tell a story. If I have a database of US Presidents, and their birth dates, and their places of birth, I believe you could statistically say that the best Presidents that the US has ever had have come from Illinois (despite the fact that this occurred before the US was fully annexed.) Further more, you could argue that better leaders are born in April (fictionalization) because it's a coincidence what month they were born in.
When I was in college, a lady from the Wall Street Journal came to my statistics class telling us that the average Per Capita Income of subscribers was $200,000 annually. This is not a cause -> effect relationship. Chances are better than a) some of the richest people in the world read this paper and b) the upper middle class are dragging down the average cuz they want to be rich also. It does not however imply that one would be richer for buying WJS.
I am surprised that nobody has given mention to Aristotle's Rhetoric where it is described in great detail the invaluable skill of utilizing the feelings (ethos / ethics) of the words that surround raw logic (logos / logic) and collectively provide a persuasive argument (pathos / pathology). It is our human nature that gives us greatness for being able to decorate words into so much more than they are, with simple things like CAPITALization, overly obfuscated alliterated onomatopoeia of oration, and rhymes so nice they splice the skies of sun and set.
It seems easy to see that people far more easily acquiesce to the involvement of their emotions than to their hair splitting logic. How else would myspace and facebook make so much money? Drama feels gooooood!
I was kind of nerdy in HS and grew into a geek shortly after. This was a short while before 9-11 after which I couldn't find a job, so I joined the Marines.
While I was in the Marines I got to experience the undercutting of on-the-job training, due to civilian network management (EDS, now HP).
The problems are many and quite diverse. The biggest I saw is the communist nature of day-to-day military life. Strangely, it's also not very militaristic.
I don't see geeks as prima donas, however, geeks are highly intelligent, exacting individuals who militaristically prove themselves or are proven by this intellect - something rare, rarely matched, and even more rarely respected.
FTA, when the general said IT personnel are in ill-fitting positions he is not kidding. In the lower - more prevalent - echelons of the Marines, ITs get grouped with the "Communications" unit. There-in, they are managed by superiors with little or no computer literacy. Furthermore, Marines no longer manage their own base networks, making their chances for training and experience limited. Finally, they are shipped off to Iraq or other war zones where they have to hit the ground running and are inevitably usurped by superior units with inferior intellect.
As if my two cents were worth anything at all, I would require that the military sac-up, and start actually weeding out the geeks from the grunts. I had some many computer illiterate "Network Administrators" it made me - the supervisor - execute more work than they did. As it stands, any n00b with the "potential" to learn this stuff gets thrust into a class where they don't socially fit, and can't grow fast enough. Then they are sent to protect the networks and save the world.
As well, the subordinate units I described without any IT-proficient superiors could easily be seeded with some of the current leaders in the field and a separate classification, keeping out from under the ignorant and arrogant thumb of the masses.
As a final note, ITs should not be exempt from performing their militaristic duties. Virtual or real fragging are both basically point and click, but we all have the potential to save lives and think strategically for the benefit of our brothers.
I can only assume that a "career programmer" or and hr person started this thread as it feels grossly out of scope from reality.
Step 1 - The Posting, as a job poster, are you looking for script developers, or application developers. In general, scripts are loosely types, and applications - being compiled and required a high degree of stability - are strongly typed.
Once you realize this, you will also realize that script languages PHP and Ruby and JavaScript [ Python, Perl, etc ] fall under a very specific easy to find umbrella.
Conversly, C#, Java, ASP... are also very similar and _could_ be found under the same umbrella.
Find out what type of programming you ACTUALLY do. Procedural, Imperative, Event Drive, Prototype, OO.... FIND OUT.
Step 2 - The Interview (More important than step 1) - once you've found the candidate, get one of your true developers into the interview. Time and again a line has been drawn between a "career programmer" and a "developer" or "geek" and a geek should know another geek, because they will share information like mating rabbits, and your "career developers" will get lost in the discussion. It's very possible that while they are catching up, the geeks will have already devised an approach to the company's problem.
Geeks are curious, and smart, and take pride in their work. It's a matter of pride to know why, and if they don't, to find out, and to make it work even if the prescribed methods fail.
In their spare time, geeks are geeking, and becoming better, smarter, stronger, faster. "Career programmers" use their time searching for the next highest salary, shmoozing for a cushy course to attend, and perhaps drinking beer (killing brain cells)
"Career programmers" are only in it for the money. Intelligent or not, I've always found inferior results from someone who doesn't generally care about the problem / logic at hand.
Step 3 - Architecture. Now that you have the tool, apply it to the project. A persons' preference and specialization is still a factor, but the manager hedging that "We do Ruby" is not an excuse.
I would agree that you can't test every framework or library can be tested to fit, but I think you would agree that a framework with a strong, open, and well-documented API is better (aside from bugs). With a true geek, API is all he requires to start laying the foundation on your application, and it doesn't require months.
PS - yes, geeks need sites like this to aggregate their data at the pace they are able to acquire it, but simply posting and reading here is not a clear indicator.
While I am far from being an astro-bio-physiologist, I'm surprised nobody with an inkling of sci-fi knowledge has mentioned terraforming. I'm certain that biologists have seem more than a few times when a plant has been put somewhere it wasn't and reformed the area chemically, physically, etc. (Consider customs laws)
The point being, yes, we should colonate other planets, no, humans probably shouldn't be the first thing to do so, the animal(s) selected would be given their best chances via plantlife and the many effects that they can provide: Oxygen and food are the primaries. The residual effects of breathable Oxygen in the atmosphere lead to a living environment similar to our own, possibly changing the global temperature and bringing out other necessities (Got water?).
In other news, there's a company right now using those Bucky molecules we all know and love to try creating the first space elevator. Recently, they achieved a 1500 ft vertical shaft "weighted" up by a balloon.
PHP is obscure in palaces
I miss PHP's obscure palaces. Once I get to level 6 I'm sure there will be more though!
As a self-taught PHP and C# Developer, the biggest trouble has already been outlined as limited exposure to new concepts. The bigger question, however, is how to gain exposure.
#1 - User Groups I personally don't attend user groups because I have 2 jobs, and 2 kids, however, the Ruby community has shown again and again that it works, not just for the new stuff, but for the old stuff. They just overhauled Rails and as long as the community keeps talking, they'll do it again and again to perfection.
#2 - Contracting It's a large assumption, but if you have the time to learn a language, you've got time to find small contracts, and hopefully ones that will introduce you to knew people with difference foci (focuses?). Also, digging unto other people's code helps you think outside of the structures that you taught yourself - you might even get some extra cash. Check out craigs list, elance, etc
#3 - Open Source Not as good for your wallet up front, but if you think you have a unique perspective that is applicable to an existing project, donate some code. Bug fixes are just as valuable as new features.
#4 - Publications I use this in the loosest sense of the word possible. I "camp" PHP.net because there are new functions popping up all the time. Their search database is fairly decent, so when you're thinking like a PHP dev, put a word or two in and see what pops up. MSDN isn't too bad either, but the naming conventions vary, and it's so large that simply search for keywords is a challenge (They have an "OrderedDictionary, but not a UniqueList...?)
#5 - Inspiration (& Perspiration) Nothing develops with out the the will power and simply getting things done. Going back to #3, you can simply start your own project or feature. Lots of things are pluggable these days, and if your desired functionality doesn't exist, don't cry about it - build it! PHP doesn't have events, because events don't make a lot of sense on the Web.... HOWEVER, if you're writing a PHP-JS-AJAX framework, then they make a LOT of sense. Noone says you HAVE to release your code either... managing a repo is a lot of work. The point is to build something, find the pain points, then ask yourself "Is there a better way to do this?" Find the better way, build it, and make your life easier... then share it if you can.
Albeit, statistics can always be skewed to tell a story. If I have a database of US Presidents, and their birth dates, and their places of birth, I believe you could statistically say that the best Presidents that the US has ever had have come from Illinois (despite the fact that this occurred before the US was fully annexed.) Further more, you could argue that better leaders are born in April (fictionalization) because it's a coincidence what month they were born in.
When I was in college, a lady from the Wall Street Journal came to my statistics class telling us that the average Per Capita Income of subscribers was $200,000 annually. This is not a cause -> effect relationship. Chances are better than a) some of the richest people in the world read this paper and b) the upper middle class are dragging down the average cuz they want to be rich also. It does not however imply that one would be richer for buying WJS.
I am surprised that nobody has given mention to Aristotle's Rhetoric where it is described in great detail the invaluable skill of utilizing the feelings (ethos / ethics) of the words that surround raw logic (logos / logic) and collectively provide a persuasive argument (pathos / pathology). It is our human nature that gives us greatness for being able to decorate words into so much more than they are, with simple things like CAPITALization, overly obfuscated alliterated onomatopoeia of oration, and rhymes so nice they splice the skies of sun and set.
It seems easy to see that people far more easily acquiesce to the involvement of their emotions than to their hair splitting logic. How else would myspace and facebook make so much money? Drama feels gooooood!
Or use wet paper towels.
Show = Baby whipes. US Marines use them in the field for weeks or months.
I was kind of nerdy in HS and grew into a geek shortly after. This was a short while before 9-11 after which I couldn't find a job, so I joined the Marines.
While I was in the Marines I got to experience the undercutting of on-the-job training, due to civilian network management (EDS, now HP).
The problems are many and quite diverse. The biggest I saw is the communist nature of day-to-day military life. Strangely, it's also not very militaristic.
I don't see geeks as prima donas, however, geeks are highly intelligent, exacting individuals who militaristically prove themselves or are proven by this intellect - something rare, rarely matched, and even more rarely respected.
FTA, when the general said IT personnel are in ill-fitting positions he is not kidding. In the lower - more prevalent - echelons of the Marines, ITs get grouped with the "Communications" unit. There-in, they are managed by superiors with little or no computer literacy. Furthermore, Marines no longer manage their own base networks, making their chances for training and experience limited. Finally, they are shipped off to Iraq or other war zones where they have to hit the ground running and are inevitably usurped by superior units with inferior intellect.
As if my two cents were worth anything at all, I would require that the military sac-up, and start actually weeding out the geeks from the grunts. I had some many computer illiterate "Network Administrators" it made me - the supervisor - execute more work than they did. As it stands, any n00b with the "potential" to learn this stuff gets thrust into a class where they don't socially fit, and can't grow fast enough. Then they are sent to protect the networks and save the world.
As well, the subordinate units I described without any IT-proficient superiors could easily be seeded with some of the current leaders in the field and a separate classification, keeping out from under the ignorant and arrogant thumb of the masses.
As a final note, ITs should not be exempt from performing their militaristic duties. Virtual or real fragging are both basically point and click, but we all have the potential to save lives and think strategically for the benefit of our brothers.
Sgt of Marines
Loose data are hot... just like slots.
The algorithm requires addition, multiplication, and technically modulus. I highly doubt it. The function is easy enough to write... 2-3 lines.
Sure, you could try and capture every single possible character, but can you update those when you find a bug?
KISS:
/(
/(
[\w\/\!\#\$\%\^\&\*\+\-\=\?\_\`\{\|\}\~]
[\w\/\!\#\$\%\&\*\+\-\=\?\^\_\`\{\|\}
\~\.]{0,62} [\w\/\!\#\$\%\^\&\*\+\-\=\?\_\`\{\|\}\~]
@
[A-Z0-9]
[A-Z0-9\.\-]{0,246}
[A-Z0-9]\.
[A-Z]{2,6}
)/ix
In order:
Happy hunting.
The area code for US phone number should neither start with a 0 or a 1.
0 = operator
1-0 = operator / international
1-1 = international
For the same reason, the local prefix should also not start with a 0 (operator).
This might be a little more useful.
^\([2-9]\d{2}\)\s?[1-9]\d{2}(-|\s)?\d{4}$|^[2-9]\d{2}-?[1-9]\d{2}-?[0-9]{4}$
I can only assume that a "career programmer" or and hr person started this thread as it feels grossly out of scope from reality.
Step 1 - The Posting, as a job poster, are you looking for script developers, or application developers. In general, scripts are loosely types, and applications - being compiled and required a high degree of stability - are strongly typed.
Once you realize this, you will also realize that script languages PHP and Ruby and JavaScript [ Python, Perl, etc ] fall under a very specific easy to find umbrella.
Conversly, C#, Java, ASP... are also very similar and _could_ be found under the same umbrella.
Find out what type of programming you ACTUALLY do. Procedural, Imperative, Event Drive, Prototype, OO.... FIND OUT.
Step 2 - The Interview (More important than step 1) - once you've found the candidate, get one of your true developers into the interview. Time and again a line has been drawn between a "career programmer" and a "developer" or "geek" and a geek should know another geek, because they will share information like mating rabbits, and your "career developers" will get lost in the discussion. It's very possible that while they are catching up, the geeks will have already devised an approach to the company's problem.
Geeks are curious, and smart, and take pride in their work. It's a matter of pride to know why, and if they don't, to find out, and to make it work even if the prescribed methods fail.
In their spare time, geeks are geeking, and becoming better, smarter, stronger, faster. "Career programmers" use their time searching for the next highest salary, shmoozing for a cushy course to attend, and perhaps drinking beer (killing brain cells)
"Career programmers" are only in it for the money. Intelligent or not, I've always found inferior results from someone who doesn't generally care about the problem / logic at hand.
Step 3 - Architecture. Now that you have the tool, apply it to the project. A persons' preference and specialization is still a factor, but the manager hedging that "We do Ruby" is not an excuse.
I would agree that you can't test every framework or library can be tested to fit, but I think you would agree that a framework with a strong, open, and well-documented API is better (aside from bugs). With a true geek, API is all he requires to start laying the foundation on your application, and it doesn't require months.
PS - yes, geeks need sites like this to aggregate their data at the pace they are able to acquire it, but simply posting and reading here is not a clear indicator.
While I am far from being an astro-bio-physiologist, I'm surprised nobody with an inkling of sci-fi knowledge has mentioned terraforming. I'm certain that biologists have seem more than a few times when a plant has been put somewhere it wasn't and reformed the area chemically, physically, etc. (Consider customs laws) The point being, yes, we should colonate other planets, no, humans probably shouldn't be the first thing to do so, the animal(s) selected would be given their best chances via plantlife and the many effects that they can provide: Oxygen and food are the primaries. The residual effects of breathable Oxygen in the atmosphere lead to a living environment similar to our own, possibly changing the global temperature and bringing out other necessities (Got water?). In other news, there's a company right now using those Bucky molecules we all know and love to try creating the first space elevator. Recently, they achieved a 1500 ft vertical shaft "weighted" up by a balloon.