Posted
by
Cliff
on Monday March 20, 2006 @11:24PM
from the a-part-of-something-larger-than-yourself dept.

drDugan asks: "There is a resurgence in interest lately in information-based systems and websites for data sharing, structured data, and enabling communities to work together better. I'm working a contract for a new business that is trying to build a community to support people who write software. What communities are you a part of now that help you write and develop software? I mean this question in a general way, including both online communities and offline interactions (your office, LUGs, etc.) -- where do you find connection with other people to get information, answers, and inspiration?"

Nowhere else can I find people with the experience, breadth and width of skills, and general good-naturedness of character than right here at Slashdot. This site features the presence of the creme de la creme of the programming world, and has experts in any particular field always ready with answers to difficult questions.

Not only is this site good for getting good answers to technical questions, legal questions are also pondered thoughtfully and expounded on by knowledgeable experts. You can find exceptional quality of legal advice here at all hours of the day.

And best of all, this site is absolutely free (as in beer), so you don't have to pay a dime for answers to your technical questions, nor a penny for legal advice. I dare you to make the same claim about sites like http://www.experts-exchange.com/ [experts-exchange.com] or http://answers.google.com/ [google.com]

Nowhere else can I find people with the experience, breadth and width of skills, and general good-naturedness of character than right here at Slashdot. This site features the presence of the creme de la creme of the programming world, and has experts in any particular field always ready with answers to difficult questions.

I'm the best programmer ever, and I never read slashdot. IANAL but I do play one on TV so let me put this in lamen's terms:

Something about GPL and evil corporations with their DRM and a closing statement half-assedly tying it all together and no mention about the article.

The problem is that while Slashdot is a good place for general technical-social discussion (the sort of stuff like Wired likes to talk about) and some technical things, it's a little limited for in-depth technical discussions. The stories fly by too quickly, whisking threads away, and the folks that read it are not all developers.If you want to talk about techniques for developing software, you might get a good comment or two, but people are unlikely to keep going back and reading a thread.

If you want to talk about techniques for developing software, you might get a good comment or two, but people are unlikely to keep going back and reading a thread.True. But I think that is always the same problem with comments on websites. It's not that easy to keep track of those. That's why I don't use those too often.But Slashdot might be a good way to get in contact with people. In-depth discussion might be taken somewhere else then.

Slashdot still isn't a perfect replacement for Usenet.If there will be

Sourceforge is a pretty good model. It works for a lot of open source software out there. There are a few similar communities out there. I'd start by looking at their features and figure out which ones meet your needs.

As for Q & A, I generally find usenet newsgroups are about the best source for programming questions. Depending on the particular newsgroup and topic, I can usually get answers inside of an hour and when it involves my business, time is usually pretty important.

My only offline resources are my co-workers who fortunately, are all quite talented.

I would suspect that most of what you'll want, code-wise, is probably largely available in parts and can be pieced together.

Riiiiight. If you don't mind being shat on for noob questions. If you're not a kernel developer, don't even bother!

Maybe you're hanging out in the wrong newsgroups. Frankly, I've found this issue more prevalent on a lot of development web site forums than usenet newsgroups. That said, I've certainly hit some newsgroups that are pretty much owned by jerks. I either ignore them or I don't go back.

You make a good point about people. Surrounding yourself with talented developers (in your office as co-workers or simply through friendships as colleagues) is an excellent way to push the limits of your skills.

As you learn more, they will benefit as well. It's a great system, provided people are open and willing to be helpful. If you work in a place that hoards information and your co-workers feel threatened by other talent, however, it's a dead end.

I generally find usenet newsgroups are about the best source for programming questions.

I've often found that IRC is also very helpful. There are a number of good channels such as #C# and #C++ on DALnet [irc] and Freenode [irc].

IRC can sometimes be hostile and is usually less professional than newsgroups. It also pays to know how to ask smart questions [catb.org]. A well-phrased and well-thought-out question that demonstrates you've already attempted to research the topic will get you much more helpful replies; otherwise you'll be in for a flamestorm of "RTFM!" and "STFW!".

Hmmm, Slash isn't linking my IRC URLs properly, but I'm sure you can find out how to log on through their websites: www.dal.net, www.freenode.org.

If you like open source development, it's wonderful to spend some time in the Freenode channel for the project you like hacking on. It's nice to be able to talk with people who are also interested in the same ideas you are, and not just work in a vacuum.

Add my vote for Usenet. Perhaps I'm old-school, but newsgroups are one of the first resources I tap when I'm having a problem. I don't mean to sound elitist, but these days, most of us who bother with Usenet are geek enough to know where to ask questions, and how and when to help those who ask questions that we can answer. Your average Joe troublemaker has no idea that Usenet exists, and thus doesn't cause problems there.Anyone can stumble upon a web forum, and that includes those of less personable charact

Sourceforge is a pretty good model. It works for a lot of open source software out there. There are a few similar communities out there. I'd start by looking at their features and figure out which ones meet your needs.

While I absolutely agree and love SourceForge, I'm just cynical enough that the second I saw the title for this story, I thought "gee, why on earth do they think they need to advertise SourceForge on Slashdot with an AskSlashdot question ?"...

I'm in Grad school right now (Computational Engineering)... and I don't think I would survive if not for my awesome fellow grad students.

We all help eachother out... and the types of ideas generated about the way to do something are _way_ above any google search. Sure, google is good for a quick syntax check (or a man/info page... or doxygen)... but those places don't give you understanding about how to properly address a situation.

If I could suggest anything about a community site it would be this: Make sure that you make it easy for people to communicate. Do whatever you can to get the website out of the way, and make it as easy as possible for people to transfer ideas.

"Sprinting" I find works really well. We just got back from PyCon, a 3 day conference with 4 days of sprinting afterwards. Sprinting is where people get together, either in person or via the IRC, to work on a particular task or set of tasks. Evelyn and I along with a group of a some other folks worked to get the new www.python.org site up. It had been in process for the better part of a year, but we were able to do a big push to get it ready to put up that 4 days and a few days afterwards, coordinated via IRC.

Linux Users Groups can tend to put people with good ideas together, and our local LUG tends to push people talking about their projects at the meetings. I've gotten a lot of good feedback from talking about my projects to the group. A good way to get peer review for a 1 person project.

The LUG meeting is once a month. The rest of the weeks of the month we have a Hacking Society meeting at the coffee shop. The idea is to set up a space where we can folks can work on various projects, everything from resolving bugs on Debian and Python projects, catching up on e-mail, working on software or talking about ideas and projects, installing different distros or getting software or hardware working.

We had our first Hacking Society meeting 5 years ago and had 3 other people at it. Since then, we've had over 100 different people at our local meeting, and regularly get a dozen people every week. Other chapters of Hacking Society have set up in 5 other locations around the world, but only one or two of them are really active. For those ones, it's really been working well. I'd be happy to help others set up local Hacking Societies, see http://www.hackingsociety.org/ [hackingsociety.org] for more information.

Just connecting with the community of people doing things is very powerful motivation and provides ideas to help get more work into it.

Things like wikis and SVN/CVS servers and bug tracking helps put software together. As long as it can foster the communities of people to get ideas shared and motivation going around. Things like IRC and mailing list can really help out with the ideas and peer review and motivation.

When I was coding in PHP... php.net [php.net] was an absolute godsend of being both a reference to all the functions and objects and a repository of user's experiences and tips for the items... almost all of my php issues were solved via that site.

When I've been doing Javascript code (which isn't a huge amount I'll admit), then I've found W3School's [w3schools.com] reference pages to be invaluable.

Now that I'm doing my coding in the open source language Laszlo [openlaszlo.org] I've found their included documentation that comes with the developer install (web based and with live examples to tinker with), and the community coding forums [laszlosystems.com] to be an enormous help, and have made learning and getting a lot out of this language really not that hard.

I really think that trying to localise coding support isn't going to work... the coders should just make use of the best forums and resources for the language they're using. Each time I have to use a new language I have a new folder in my bookmarks for reference pages and forums for that language that I find on the web... you find almost everything you need that way really.

Funnily, I just had a co-worker email about a solution to a problem he'd been having with some web programming stuff that took him a while to nut out. It's being implemented in a client's internal web-app, but the solution is something we will probably want to know about in the future... It's not an area I'm working on at present, so have no interest in looking at the solution now and diverting my attentions, but I just know it'll be something I will wish I had easy access to down the track.So while what I

You mean something crazy like... like... a shared network drive? Or a version control system?

Except neither of those work very well when your team is spread over a number of client sites with varying levels of access to the outside world. Really the only solution is a good, easy to use web based team access area... which is what those listed programs are good for.

I agree with the parent poster. I too am a web developer (mainly PHP, javascript, and SLQ) and find all those sources totally indespensible.When I was first learning php, however, I just started up a phpbb [phpbb.org] (forum), pointed at the screen at an object, and then read code until I found out how to change it, printing it out and taking it to coffee shops helps too, and it makes you look hella nerdy.

Btw, for the record, phpbb is coded amazingly well. I recently built my own portal (CMS) for it, fully functional a

You might want to try [http://www.invisionpower.com/ an invision power board]. A [http://www.google.com/search?q=invision+power+boa rd&start=20 google search on the topic] reveals that many [[FLOSS]] projects use it to host their own community. There are of course [Category:Internet_forum_software|other alternatives] you might find interesting.

Just a semi off-topic thought, but a good place to start would be [[http://www.mediawiki.org/ MediaWiki's official homepage]...

You can still get the last free version of Invision Power Board off the internet if you look hard enough. I have IPB v2.0.0 PF 3 running behind an Apache server on my LAN at the moment, and I have not paid a cent.

In other news, I was not aware that I owned both Invision Power Services and the WikiMedia foundation. Thanks for clearing that up, I feel better now. If you use our products and feel like you want donate to us, you can send all donations here [amd.com].

It's not exactly a "community" in the "let's all chat" sense, but a community has sprung up on Code Snippets [bigbold.com], a tagged 'del.icio.us for source code'.. most notably around Python coding on cellphones. But there's over a thousand users so something was bound to spring up.

I've been a member there for a while for mapping in UT and learning to texture, map, and more. They offer more then just support forums. The makers of the site do tutorials (mostly video) and offer them for download. Some are paid, some are free.

Also back when I was doing my co-op for programming (they used VB) the Visual basic Programmers Journal by DevX [devx.com] released a 101 programming tips. Little routines that did specific things, like auto complete for drop down boxes and the like. I found that to be invaluable.
So to summarize.

I myself am an Oracle DBA. I have been dependent upon Oracle's metalink system for quite sometime. Here is what I think makes it work:

1) Forum - Ability for users to post questions where responses can be made by both Oracle or other members of metalink. Forums, in there case, are broken down into categories and/or application Groups..eg. Database Server Administration, Backup and Recovery, Performance, etc..

2) Bulletins or Notes - Ability for privileged oracle reps to post information in regards to ways to do things that many had questions about or had confusion about.

3) Bugs - Ability for Oracle to post Bug messages to describe a bug, the test case, ways to reproduce, and solutions.

4) Mass Search - Ability to search any of the above documents types in one universal search engine.

When working with PHP, php.net is most definitely an invaluable online tool. It pretty much has everything you'll ever need to do anything, ever... Even things that have nothing to do with PHP.
Failing instant answers from google or php.net I generally join an IRC channel and scream. It seems most people in the channels like me screaming. When I join very technical channels and scream and ask questions, I get fast prompt answers from people who LIKE me screaming and panicing in capital letters and askin

A very good and important question (IMHO) because nobody knows everything. Unfortunately many corporations don't like the idea of sharing, they don't trust their own employes(?) and you can't just go to any of these meetings, seminars, etc.. without sharing. Not sharing your business secrets but your experience! Enough of that - I would say it depends, for a coder the peer and Google may be enough, for a programmer I would recommend LUGs, TUGs, SHARE, SUN and other user groups and for a developer IEEE, MOMS

The Developer Shed Network[1] is a whole slew of sites and forums run by the same people (Jon Caputo and others). They have a lot of nice tutorials/articles, as well as various forums such as ASP Free[2], which is dedicated to Microsoft-ish technologies; and Dev Shed[3], which is geared more towards free and open-source technologies such as Apache, Linux/*BSD, XML, C/C++, MySQL/PostgreSQL/Firebird, PHP/Python/Perl/et al.

Trust me on this last one. I'm a moderator on many of the forums there and the people are always very helpful, polite, and (in most cases) respond to threads rather quickly.

This is a great example of a flourishing development community. Chris Maunder, the creator, is very visible in the forums and receptive to feature suggestions. There's a rating system for the submitted articles, so top submitter's egos are rewarded.:-)

Well, except for real life meatings, that covers pretty much all the important ones.Wiki for the documentationIRC for the quick anser or random chatforum\mailinglists\newsgroups for the slow QAStuff from the forum\mailinglists\newsgroups and IRC should be refactored to the Wiki for reference.Ok, so now you've got your platform. Now you only need an audience, well that's the tough part. You need people that are willing to help and you need to help new people seeking help to contribute in their turn. Nobody l

The irony is most coding community sites are poorly organized, poorly designed, and lack features.

I think it's because few coders put any sort of stock in appearances. It's a shame, because appearance really helps make a site (or product) feel "solid". Too many coding sites feel like they're barely held together with duct tape.

Poor presentation doesn't instill a lot of confidence that the content is worth anything.

I credit the majority of my skills to the fine folks at M*U*S*H ( http://mush.pennmush.org/ [pennmush.org] ). While the test and launch site for PennMUSH, a MUD game server, it *is* a social mush, and has a large community of players connected at most of the hours I'm on, and still plenty when I'm not. PennMUSH, a MUD in that it has a virtual world, with a programming language diku derivatives could only dream of, online creation and programming that allows anything from scrabble games to a casino with fully playable crap

It's probably CodeProject [codeproject.com]. Beginner to very advanced projects alike, usually with relaxed licenses as well. You can find gold nuggets like the best tutorial I know for the lightweight Windows Template Library [sourceforge.net], along with a free vastly improved memory leak detector there. They also supports plenty of languages for Windows development, with a big share of articles and code on C++. A message board is added for each code project listed where you can discuss them, along with project unrelated forums for general coding discussion.

The starting point is always the hardest. I currently lead a team that's been programing WoW addons since beta (over two years). I see new communities pop up all the time; some thrive and some don't. The most common communities tend to stem from 2 or 3 people collaborating together who are on fire about what they're doing and being very prolific. People gather around them initially to use their software or service. Eventually more people offer to contribute, whether they're asked to or not. Often times if y

http://www.perlmonks.org/ [perlmonks.org] - this is The perl community forum. Recently it seems a bit crowded there - but it is still the forum where I would go to get help on general Perl matters. Mailing lists and IRC are good for more specific questions related to some particular library.

Our team is Agile. You can get more information about Agile Software Development at this wiki page: http://en.wikipedia.org/wiki/Agile_software_develo pment#The_Agile_Manifesto [wikipedia.org]
"Most agile methods attempt to minimize risk by developing software in short timeboxes, called iterations, which typically last one to four weeks. Each iteration is like a miniature software project of its own, and includes all of the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis

My friends and I started atlhack [atlhack.org] in Atlanta. The community happens in person at our favorite coffee house. Usually we discuss our creative technical ideas and egg people on to get them done. We track our progress and occasionally have discussions on our drupal website.

As a developer, I am constantly associating myself with two distinctly different types of communities. Those which are project-centric (like Sourceforge), and those which are language-specific (like perlmonks).

The first is necessary to allow for coordination of all your developers. It needs to have an easy bug reporting and maintenence structure. It should have a CVS, discussion area, announcement area, and a documentation area. As I mentioned already, Sourceforge is the best example that I can think