Subversion turns out to be a very powerful, yet simple tool. The Windows tool TortoiseSVN adds commands to windows explorer menus when you right-click on files or folders. These commands do everything from checking out a repository to committing changes made. It also provides an icon to indicate the status of files while in windows explorer.
The Ubuntu tool RapidSVN is a GUI that has all the same features Tortoise provides, but it's done through a GUI instead of explorer menus. Ubuntu also provides command line tools for maintaining an SVN repository.
Setting up a Subversion server was also quite simple. I used VisualSVN server to set up a simple SVN server on my Windows machine. After installing, it was simple to add a new repository, add a user, and connect to the repository using those new user credentials.
Search This Blog
Thursday, January 27, 2011
Tuesday, January 25, 2011
The History of GNOME Empathy
This weekend I researched the history of the GNOME Empathy project. It started as a reinterpretation of a project that was a compilation of two other projects. Needless to say, the history wasn't exactly clear. It is a messaging program integrated into the GNOME desktop. It's written in C, which will be interesting because most of our group aren't familiar with C programming. The project is sponsored by Collabora Ltd., a software consultancy based in Cambridge, England. The project leaders are Guillaume Desmottes and Xavier Claessens.
Wednesday, January 19, 2011
The Cathedral and the Bazaar and IRC
I'm going to start this by extracting all the rules of open-source development from the essay and making a list.
Another list worthy of note ... the closed-source program manager's five functions:
This essay has pretty much sold me on the effectiveness of open-source software development. Toward the end of the essay he says, "Human beings generally take pleasure in a task when it falls in a sort of optimal-challenge zone; not so easy as to be boring, not too hard to achieve. A happy programmer is one who is neither underutilized nor weighed down with ill-formulated goals and stressful process friction. Enjoyment predicts efficiency."
IRC was remarkably easy to set up. I'm currently using the windows version of Gnome Empathy, which supports IRC as a chat method. A quick search of the Pidgin website detailed how to set up an IRC room. Joining the mailing list was also quite easy.
- Every good work of software starts by scratching a developer's personal itch.
- Good programmers know what to write. Great ones know what to rewrite (and reuse).
- "Plan to throw one away; you will, anyhow." (Fred Brooks, The Mythical Man-Month, Chapter 11)
- If you have the right attitude, interesting problems will find you.
- When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
- Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
- Release early. Release often. And listen to your customers.
- Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
- Smart data structures and dumb code works a lot better than the other way around.
- If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource.
- The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
- Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
- "Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away."
- Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
- When writing gateway software of any kind, take pains to disturb the data stream as little as possible—and never throw away information unless the recipient forces you to!
- When your language is nowhere near Turing-complete, syntactic sugar can be your friend.
- A security system is only as secure as its secret. Beware of pseudo-secrets.
- To solve an interesting problem, start by finding a problem that is interesting to you.
- Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.
Another list worthy of note ... the closed-source program manager's five functions:
- To define goals and keep everybody pointed in the same direction
- To monitor and make sure crucial details don't get skipped
- To motivate people to do boring but necessary drudgework
- To organize the deployment of people for best productivity
- To marshal resources needed to sustain the project
This essay has pretty much sold me on the effectiveness of open-source software development. Toward the end of the essay he says, "Human beings generally take pleasure in a task when it falls in a sort of optimal-challenge zone; not so easy as to be boring, not too hard to achieve. A happy programmer is one who is neither underutilized nor weighed down with ill-formulated goals and stressful process friction. Enjoyment predicts efficiency."
IRC was remarkably easy to set up. I'm currently using the windows version of Gnome Empathy, which supports IRC as a chat method. A quick search of the Pidgin website detailed how to set up an IRC room. Joining the mailing list was also quite easy.
Tuesday, January 18, 2011
Group Project Picks
Last Thursday, as a group, we chose 3 FOSS projects that sounded interesting. After doing some research on them, I've decided the Gnome Empathy project has the best support for new contributors. They give suggestions for developers, provide links to the source and details on how to build it, and have both IRC and a mailing list for contacting the team.
The other 2 projects the team chose are both interesting.
The OpenRemote project looks to be nearly complete, and it doesn't have much in the way of documentation on their website. Of course, it could have all the necessary documentation bundled with the source code. They also don't have any obvious IRC channel, but they do provide a web-based chat-room with logs of previous chats.
The OpenKinect project also sounds interesting, but it's not software in and of itself. It's software to allow for integration of the new Kinect controller for the XBox 360 with various operating systems. Their wiki has a lot of information available and IRC and mailing lists as well. It also links to the source code and provides detailed build instructions based on operating system.
I hope I'll be able to convince the team to go with Gnome Empathy, but they sounded very excited about the OpenKinect project.
The other 2 projects the team chose are both interesting.
The OpenRemote project looks to be nearly complete, and it doesn't have much in the way of documentation on their website. Of course, it could have all the necessary documentation bundled with the source code. They also don't have any obvious IRC channel, but they do provide a web-based chat-room with logs of previous chats.
The OpenKinect project also sounds interesting, but it's not software in and of itself. It's software to allow for integration of the new Kinect controller for the XBox 360 with various operating systems. Their wiki has a lot of information available and IRC and mailing lists as well. It also links to the source code and provides detailed build instructions based on operating system.
I hope I'll be able to convince the team to go with Gnome Empathy, but they sounded very excited about the OpenKinect project.
Wednesday, January 12, 2011
Blogs, Wikis, and POSSCON; Oh my!
Setting up a blog was easy. Google already knows who I am, so it was just a matter of asking them to set up a blog for me to use. Setting up a Wiki for our group, called When It's Done, was easy as well. The wikispaces website is easy to use, and simple to operate. Signing up for POSSCON was also easy (confirmation info: Transaction ID: RKDRJGQZCF, Order Number: 10000239), and free to boot. I have Physics on MWF, so I don't plan to attend Friday's events for POSSCON, but I will be there for Thursday.
I read chapters 1 and 2 of TOS. The information inside was mostly stuff we've either gone over in class, or I've seen it somewhere before. I imagine it'll become much more useful quite soon.
I read chapters 1 and 2 of TOS. The information inside was mostly stuff we've either gone over in class, or I've seen it somewhere before. I imagine it'll become much more useful quite soon.
Subscribe to:
Posts (Atom)