Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: DF Mods & Code Sharing  (Read 1124 times)

Axecleaver

  • Bay Watcher
    • View Profile
DF Mods & Code Sharing
« on: November 26, 2010, 03:13:30 pm »

NOTE: I'm moving this discussion from the UltraFinder 2.8 thread to avoid getting any further off topic.

Why is it so many really nice utilities and mods get abandoned... or at least fall way behind recent DF versions to the point of being unusable?  :(

I know for a fact that, at least in some cases, the utility/mod authors are still visiting the board. Although, I also realize that they have a life. I know how interests change and these things are more like gifts that they've graciously shared.

We should probably make a code repository and invite them to share the source code for the utilities once they decide to stop updating so someone else could continue the project

Can anyone recommend a good client for sharing code in some kind of repository? I have hosting space I can donate I just don't know what frontend to use.

Sounds to me like you are either looking for a CMS (Content Management System), a "social code sharing" module for a WCMS (Website Content Management System), or a "social code sharing" app for a web application framework. Unfortunately, I'm no expert. And for me, Google did not return many relevant results. But I did find this:

Practical Django Projects, 2nd Edition > Chapter 8. A Social Code-Sharing Site
As the title implies, this chapter in this book on Django (a web application framework) seems to describe how to set up a social code sharing site. (This can also be read online at issuu, starting at page 167.) And source code for the 2nd edition can be found here on bitbucket.

If you choose this route, though, it's probably best to have a hard copy, such as Practical Django Projects from Amazon.com. I noticed that they have 55 new and used copies of this book, starting at just $0.49 (+ $4.99 S/H). That seems a steal, assuming it's want you want. Of course, it's probably so cheap because the Second Edition is a lot more desirable.

Or we could just use google code or something.

Obviously, that's a much easier route. I noticed that Google Code has been used for several mods and tools, including Quickfort. Similarly, github is also being used for mods and tools, including dfhack. And let's not forget the highly popular SourceForge open source project host. (But, personally, I do not like the direction SourceForge is going with recent changes.) I think the important considerations are that they host the code, they organize the sharing of source code and allow multiple project members. But then, by using such sites we hand some control (and responsibility) to the code hosting/sharing site.

Aside from those options, we might consider sites like bitbucket and pastebin.com. Also, it seems github.com has added their own pastbin area in the form of gist.github.com This is described and demonstrated in this video: BryanL demos Gist: A Super Hot Pastebin

But then, I found this warning about using a copy 'n paste method:
Coding Horror > A Modest Proposal for the Copy & Paste School of Code Reuse

Personally, I feel that any big, serious coding project involving multiple members - especially those which require up-to-date code and frequent contributions - can benefit from the Apache Subversion system or SVN for short. This is what many professional programmers use for big projects. It's also a way for end users to gain access to the latest source code without the waiting and constant begging for the next release. (That is, with the understanding that the code is the development version and is likely to be buggy.)

A year or so ago I did some research on SVN apps and chose to use TortoiseSVN. (I was interested in the DungeonHack RPG and the Vega Strike space-simulator open-source projects. And they're both huge, ambitious projects that use SVN.) I noticed that TortoiseSVN was recommended by quite a few programmers and projects and that convinced me.
« Last Edit: November 26, 2010, 03:15:05 pm by bsperan »
Logged

jaked122

  • Bay Watcher
  • [PREFSTRING:Lurker tendancies]
    • View Profile
Re: DF Mods & Code Sharing
« Reply #1 on: November 26, 2010, 05:22:03 pm »

I have a web site with drupal 6, it is a wonderful content management system. Registration is open, and nobody knows about my site yet, so if you would like, http://darkcloudterrace.dyndns.info/drupal6.
I host it at home, so it should be up constantly, and there is no practical limit for the storage space.
if you would like, I could set up SVN or CVS on it. therefore just ask and you shall probably receive.

Artanis00

  • Bay Watcher
    • View Profile
Re: DF Mods & Code Sharing
« Reply #2 on: November 27, 2010, 03:17:48 am »

Personally, I feel that any big, serious coding project involving multiple members - especially those which require up-to-date code and frequent contributions - can benefit from the Apache Subversion system or SVN for short. This is what many professional programmers use for big projects. It's also a way for end users to gain access to the latest source code without the waiting and constant begging for the next release. (That is, with the understanding that the code is the development version and is likely to be buggy.)

All the rest is great, anyone with content to share should definitely consider creating a website or at least a blog, but I would heavily recommend Git over SVN, for exactly the same reasons as you've noted.

Also, in the short time I've been here I've noticed that tools and updates to existing tools will appear without much warning. This may be a lack of websites, or people like making a big splash by dropping awesomeness into the magma sea. Regardless, I believe Git would be a better choice for this kind of developement. It should be expected that a few will quietly make multiple commits in a side branch with no one the wiser until they show up in a public mirror of that contributor's clone (such as gitweb or github) and a pull request and a post about it is made, at which point no one need wait for the changes to be accepted into any official repository to get them (if there even is one), but can rather pull the changes directly from that person. Or, if what was being worked on doesn't pan out, the side branch can be ignored for a while or even dropped and work continued elsewhere in the clone without indicating anything in the master branch

In contrast, in SVN it is nigh impossible to make private changes, and then publish the complete addition wholesale. This makes mistakes public as well as their fixes, and the bit about stopping something that doesn't pan out is either public or leaves non-consecutive version numbers.

Further, development can take full advantage of the branch system: new branches are created for new work, and merged into the master when completed and tested. Along the way, work on master can continue (bug fixes, other branches merged in, etc.) and in-progress branches can easily incorporate new changes from the master branch.

I'm going to end my post here, because at this point any new information is going to be coming from the following two links, and I just want to watch the first without taking notes. :P

There's a GoogleIO talk about Git by Randal Schwartz (and another about what Git isn't by Linus Torvalds, creator of Git), and a rather informative website: http://whygitisbetterthanx.com/
Logged
Git - fast, efficient, distributed version control system
Github - Free public repositories, issue tracking, wikis, downloads...

RantingRodent

  • Bay Watcher
    • View Profile
Re: DF Mods & Code Sharing
« Reply #3 on: November 27, 2010, 10:40:56 am »

I'm a diehard SVN user, personally. Partly because it has excellent integration with Eclipse. I'd be happy to share the code for my tools, but I'm not sure how many Flex developers are out there to work on them, heh.
Logged
Graphical Overhaul 0.31 DFFD | Bundle |  Thread (beta3)
Raw Patcher DFFD  | Thread (1.0)
Graphical Overhaul 40d DFFD | Bundle
ASCII Tileset 40d DFFD  | Thread (2.0)

Artanis00

  • Bay Watcher
    • View Profile
Re: DF Mods & Code Sharing
« Reply #4 on: November 27, 2010, 10:52:31 pm »

I'm a diehard SVN user, personally. Partly because it has excellent integration with Eclipse.

Integration is a very good feature. There is a plugin project called EGit to integrate Git into Eclipse via JGit. I don't know how well it works though, since both EGit and JGit are in initial phases.
Logged
Git - fast, efficient, distributed version control system
Github - Free public repositories, issue tracking, wikis, downloads...