Experience using IRC to coordinate software development? - irc

I am part of a growing software project with at least 200 active developer in 10 locations. I would like to set up an on-line chat forum for developers because I think it would help to coordinate efforts. We have an email mailing list but I feel like some questions or announcements are too informal to send to everyone while mentioning it in a chat forum might be a useful community resource.
I have never participated in a software project that used an on-line chat forum so I would like to hear about peoples experiences. I am particularly interested in technical issues: Use of IRC vs. alternative platforms; how to manage access, eg. for developers only, allowing users to participate; the value of requiring certain announcements to be made on the chat forum eg who is resolving broken builds etc.
If I pitch the idea to the community I would like to have some good arguments why it would be a good idea and some prospective of its usefulness in other software projects.

The features you MOST want for such informal discussions are:
persistance (I have't used IRC in >decade, does it persist chats that you missed?)
Searcheability
Classification (tagging) to help sort through the stuff.
Considering those 3, I'd strongly suggest some sort of discussion software (microblog, Wiki, forum) with RSS feed.

It's a great platform for informal discussions. It's flexible, users can self-organize and its extensible. We have tied CI build results and SCM commits. Further, given the availability of multiple consumption streams (web, terminal) anyone can join with little notice.
I think the previous poster is over-stating the importance of the contents of this conversation and who the heck wants to maintain discussion software? Blergh.

Related

UnrealIRCd or InspIRCd

I am the manager of a small IRC server of 100-300 simultaneous connected users since now 8 years, I am under UnrealIRCd. I see many competitors replacing their UnrealIRCd by InspIRCd and I would like to understand why they do that?
What are the benefits of InspIRCd?
There are many ways you can compare the two IRC servers, a good comparison could be found at Comparison of Internet Relay Chat daemons
Few additions as well are:
Both ircd projects are up to date.
Both have a rich modules libraries.
Both have a good recent commit history & issue tracker.
They have almost the same feature support, although InspIRCD is in favor.
For me personally, i prefer InspIRCD, i feel they have the edge, with accepting new ideas and implementing features.
At the end, base on those comparison, it doesn't really matter, both of them are doing a great job all around, and are well distinguished between others.

How to simulate voting in GitHub's Issues 2.0 Tracker

I'm considering moving my open-source project Flyway from Google Code to GitHub.
One of the features I really like in Google Code's Issue Tracker is the ability to vote and sort issues by the number of votes. This has allowed me to get a good feel of where current pain points lie and what the community feels needs attention or further work.
How can I achieve something similar on GitHub? Is there a way to maintain a democratic approach to Issue Tracking?
There is no built-in ability to do so. Technically speaking, you can only manage issues by
assignee
tags (called labels at github)
milestones
While you can define label systems for lots of differentation criteria like
bug/feature request/...
prio high/low/...
status verified/unverified
it is simply not possible to have something that accumulates votes. So typically you will see "+1" postings as in good old mailing lists. I've seen people using external voting systems (like Google moderator) for issues on github, but that doesn't make a good user experience either.
If you're willing to use a third-party system that integrates with GitHub, you can try GitPoll.

What notes should I be taking, if any, at the beginning of a project?

I was recently asked by a Team Leader (not mine) if I would be willing to undertake a programming project. The members of his team are currently pre-occupied with other more important projects. I graduated college two years ago, and up until now programming has only been a hobby of mine. Recently I decided that I would like to pursue a career in software development. I accepted his offer so that I can gain some real-world experience and start building a portfolio.
In about an hour I'm scheduled to meet with the Team Leader to discuss the details of what he needs. From a short e-mail exchange with him, I know that the base project is to update an existing ASP.NET form—but I also think there's more to it than that.
Considering that I'd like to eventually put this project in a portfolio, what kinds of notes should I take at the meeting?
Take whatever notes you can that will best help you understand the use cases and the user requirements. Everything else is just technical details that can be figured out later.
I graduated college two years ago, and up until now programming has only been a hobby of mine.
In that case, my suggestion is:
revel in your ignorance.
Make the most of the fact that you know nothing and you're being given an opportunity to learn - abuse the chance to ask as many questions as possible of the Team Leader in question regarding what type of questions you should be asking and how you should be documenting what you learn.
You only get one chance to be ignorant, once you've wasted it you have to spend the rest of your life as a know-it-all; take the chance to enjoy the learning process.
Get a list of people who are the intended users. Talking with them will allow you to flesh out the overview that the Team Leader gives you. It is likely that the intended users have a very different understanding of what the app is supposed to do than the TL does. So you'll likely be going back and forth for a while. It's well worth the effort though because you'll do much less re-coding.
Try to understand that the Team Leader him/herself might not even have all the requirements available right at the beginning. Be prepared to be hunting down people and writing all these requirements down as they come in.
Things will change during development, new problems and new requirements will always be popping up.
Three things:
What: What is the software supposed to do, the more detailed you can manage to get the other person to be, the better.
How: Are there any known constraints? For example, if it has to ask for a telephone number, does it have to validate nationally/internationally/not at all. Does it have to run on Windows 2008/2003/all
Who: Two sides:
Who will answer any questions you'll have, will you setup weekly progress meetings?
Who will use the software, can you get their early input on your prototypes, can you ask them for opinion/requirements?
One thing I've found very helpful is carrying a hard-copy of any existing requirements (use cases, wireframes, whatever) or any other potentially useful information in a 3 ring binder to any project meetings I attend. If the meeting strays off topic or questions about previous discussions or documents come up it is very nice to have the information at your fingertips in a format you can make notes on, pass around the table etc.
As a bonus, I find most people don't carry any documents to meetings, so you'll also end up looking like you are a real go-getter who is always prepared, which is never a bad thing.
Main downside to this is that you'll waste paper if the documents are updated and changed frequently.
Find out the where as well, where are the files you need stored on the network, where is the source control repository for the project, etc.
Since this is your first taste of doing a real world project, please please please make sure you use source control even if you are the only dev on the project. Your co-workers will thank you and you will thank you the first time you need to back out a change that didn't work.

Independent iPhone Developer Network

Hi I'm currently doing some independent development on the iPhone and Mac. Loving the freedom but the single biggest thing I miss about working with a team of developers is the opportunity to talk through design choices and issues with other developers.
I'm not talking about general "humm ..." questions (there is stackoverflow for that ;)) I'm talking about things that are not for public consumption or are very specific to your application. I'm thinking about something that is a little more interactive (for example screen sharing and chatting).
Does such a thing exist?
There are Cocoaheads groups in various cities, that usually have monthly meetings... also there are NSCoder groups, that have a bunch of people working together for a day or so once a week.
IRC sounds like a good place for such discussions. Some iPhone development related channels you may be interested in:
[I don't know any, community wiki'ing this so others can add them]

What is the "best" free CMS for my needs? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I have the task to build a web-site for a smaller non-profit organization. I have a bit experience with ASP.NET but because ASP.NET hosting is rather expensive here in germany (we will also need a lot of webspace and traffic) and aslo because there are quite a hughe list of features I think I should go with a PHP/MySQL based CMS (correct me if I am wrong). The question is wich one? There are are so many free CMSs out there. If I tell you what I need, can you tell me what would be a good choice?
Here are my requirement (sorted by priority):
Ease of use (installation, configuration, maintainance) for me who builds the site but also for the members of the organisation they must be able to easily change the the content of some main pages, add supages, add a new mailinglist upload a file to the repository etc.
A membership/role management system. Based on the role of a member access to certain subpages, subforums or folders in the file management system etc. must be restricted. Only certain roles must be allowed to add new mailinglists or moderate the forum.
A mailingsystem that allows me or the members of the organistation to add new adresses, maillinglists or newsletters.
A file management system. Members should be able to upload arbitary files on the server and browse them via a web frontent. Access to folder should be restrictable based on the member rights.
A pulbic forum with private subforums.
Localization. As much as possible of the final site (if not everything) that is presented to the visitor of the site as well as to the members who maintain the site should be presented in german.
Good control over design/look and feel of the overall site. I should have good control over how I want the site to look like.
A lively community with enough momentum to find ressources and help when I am lost.
Extensibility. In case there are some smaller features missing or f the behavior of an existing feature is not quite the way I want it, it would be cool to easily add it myself.
As mentioned by others, Joomla might be a good option for you, although Wordpress may also work (and it's easier). However, I highly recommend that you check out OpenSourceCMS.com, which hosts demos for many of the free and open source CMS's, blogs, forums, shopping carts, etc. For most of them, you can try out both the admin and the frontend. Spend some time looking them over and then when you find some that you like, investigate them further by going to their websites.
Concrete5 is a new Content management system that is excellent. Easily themable, user friendly, great little dashboard for management
and it's open source
My vote would be Joomla. It has most fot he features you discussed, if not in the core as an extension, component or theme. I've set several up and rarely have to use any coding during setup, plus there's a vibrant community if you need help. It also integrates nicely with other 'best of breed' apps like BB forums, Coppermine photo gallery's and others.
Joomla! would seem to fit your needs, and I'd also suggest Kunena for the forum (which integrates with Joomla) and DOCman for the file management solution.
Well, I'd suggest Drupal for any sort of advanced web site. While Joomla! and similar systems are a bit easier to get started with, Drupal's a lot more flexible and extensible.
You want full control over theming? Or user authentication? Access control? Database queries? User picture scaling? Tagclouds?
It's there when you need it :)
I would go with Joomla too, even though I'm a ASP.NET developer.
Joomla is very flexible and customizable, so it fills all your need, because of the big community.
As a complete CMS noob, I asked myself the same question. I started with Drupal. Sure you can do lots of things with it. Very extensible and customizable.
But after implementing my first site in Drupal, I decided to create the next one in Joomla, to have a frame of comparison. Conclusion: Joomla is a looooooooooooot easier to get started and takes a lot less time to create a functioning website from scratch. Sure, for very big projects, Drupal lets you customize more, but for the type of project you suggest: I would recommend Joomla...
I found this PDF report comparing WordPress, Joomla, Drupal and Plone quite helpful when I was asking myself the same question recently. Nice comments with a focus on non-profits - find the comparison summary/recommendation on pp 13-14.
Definitely read the report because it talks about the strengths/issues of each package - given your prioritized list of features, I'd recommend Joomla. I think you can do what you want with reasonable effort and good recent modules like DocMan. WordPress is awesome for a blogging site, but lacks a number (2,3,4,9) of your requirements, and though Drupal is powerful and flexible, it definitely has a steep learning curve. Plone even more so.
Good luck!
I'd vote for DotNetNuke, it's ASP.Net but that saves you the overhead of learning a complete new environment, language and tool just to implement a 'free' CMS, realistically how much is your time worth? It meets all your criteria, and there are currently 600,000 users - which means that you can just get on with it, somewhere someone has already worked on your problems for you.
As for expensive hosting, why not host in another country, I get US$5/month for DotNetNuke in the states, and I code from Australia.
Ive had some experience with Joomla. Highly customizable, plenty of plugins and one of the liveliest communities in development. It has a great admin panel also.
Well, as told by Tom Deleu, yes, though Drupal is very capable and strong CMS but it is tough and complicated to work on. Coming to another option of CMS that is Wordpress. Though it is very easy to develop a content based websites with wordpress but with very limited scope and flexibility.
As per your requirement my vote will also go to Joomla. It is very user friendly, optimized and a CMS you can rely on. Small applications as mentioned by you like "mailing system", "File system" etc. suits joomla more than others.