Domain: tigris.org
Stories and comments across the archive that link to tigris.org.
Comments · 463
-
These are the projects SFC representsThese are the member projects of SFC. An attack on SFC is an attack on these members as well. This is a catalog of 46 of the most respectable Free Software / Open Source projects. In contrast, I hear that SFLC represents one project.
ArgoUML is the leading open source UML modeling tool and includes support for all standard UML 1.4 diagrams. It runs on any Java platform and is available in ten languages. See the feature list for more details.
The Bongo Project is creating fun and simple mail, calendaring and contacts software: on top of a standards-based server stack; we're innovating fresh and interesting web user interfaces for managing personal communications. Bongo is providing an entirely free software solution which is less concerned with the corporate mail scenario and much more focused on how people want to organize their lives.
Boost provides free peer-reviewed portable C++ source libraries.
Boost emphasizes libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.
Boost aims to establish “existing practice” and provide reference implementations so that Boost libraries are suitable for eventual standardization. Ten Boost libraries are already included in the C++ Standards Committee's Library Technical Report (TR1) as a step toward becoming part of a future C++ Standard. More Boost libraries are proposed for the upcoming TR2.
Bro provides a comprehensive platform for network traffic analysis, with a particular focus on semantic security monitoring at scale. While often compared to classic intrusion detection/prevention systems, Bro takes a quite different approach by providing users with a flexible framework that facilitates customized, in-depth monitoring far beyond the capabilities of traditional systems. With initial versions in operational deployment during the mid '90s already, Bro finds itself grounded in more than 20 years of research.
Buildbot is a freely-licensed framework which enables software developers to automate software build, test, and release processes for their software projects. First released in 2003, Buildbot is used by leading software projects around the world to automate all aspects of their software development cycle.
BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system.
BusyBox has been written with size-optimization and limited resources in mind. It is also extremely modular so you can easily include or exclude commands (or features) at compile time. This makes it easy to customize your embedded systems. To create a working system, just add some device nodes in
/dev, a few configuration files in /etc, and a Linux kernel.Clojars is a community-maintained repository for free and open source libraries written in the Clojure programming language. Clojars emphasizes ease of use, publishing library packages that are simple to use with build automation tools.
coreboot is an extended firmware platform that delivers light
-
Re:Node based GUI programming may be the way
In theory if a node-based graphical programming editor is created right, it should be able to output code in a syntax for any programming language you choose. Diagram what you want, and click the button for C++/Javascript/Python/Etc., and then you get the desired source saved out for use in your compiler or interpreter of choice. So it really wouldn't have to be a language, but more like a meta-language.
Some people seem to be confused by the idea that whatever meta-language a program is written becomes the primary source code. If you write a UML diagram and generate code from it, the UML diagram is the actual source code, not the
.c++ and .h files it spits out. It also makes developers uncomfortable when there are blocks of C++ code they must never touch. (Microsoft understands this, and so they carefully try to make their visual editors work both ways, where they parse the C# code to alter the values on the forms. But it still causes friction.)As long as it accepts what I do as the source for a repeatable process that ends in the desired results, it can be classified as a language. The language of a code generator is still a computer language.
Ivar Jacobsen developed an absolutely brilliant UML programming environment about a decade ago that's pretty close to this idea. It would allow the developer to create the classes, sequence diagrams, activity diagrams, state diagrams, etc., and then click "build". He said that it would auto-generate 90-95% of the java code needed for an app, and that the human developer could quickly fill in the rest. Unfortunately, the licensing was something like 5 or 6 figures per seat, and the developers didn't quite understand where its limits were, so most people were unwilling to try it. That, and very few developers are willing to build an entire app in a UML code generator - they would rather "code", and "everybody knows that boilerplate generated code is inefficient."[1] I would have loved to bring in a tool like that. (Ivar's now backed away from it and is making his money coaching Agile instead. Oh, how the mighty have fallen.)
Even ArgoUML can quickly spit out a ton of boilerplate code from UML, and it's completely open source!
The drawbacks to both of those tools is that they're UML, not English. And they still require the developer to understand and manage dependencies.
Ultimately, I'm not looking for C+++, or C##, (+ 1 LISP), or even UML to rise up and become the One True Language. I think we need to get to the really usable computers from Star Trek, where they interpret and understand the user's intent contextually, they understands their own resources and their dependencies, and they produce the desired results in an appropriate manner. (It's funny how often they were unable to interpret the crew's commands when they needed a plot device for the crew to solve.) And we are finally starting to see such things emerge in real-world (but still limited) domains today. Siri is a good example of a context aware interpreter, even though it still can't create a significant repeatable process. At least it can sometimes set state that other repeating processes may respect.
Anyway, if this stuff were easy, we'd be doing it already.
[1] This is a common point of misunderstanding. Efficiency is all about cost, and the costs are simply not on the side of most handwritten code. The cost of a software developer's time is greater than the cost of most application inefficiencies they might produce. Code generators spit out pre-tested code that doesn't incur the cost of additional testing. The cost of a single bug reaching production is far greater than the cost of almost every inefficiency (real or feared). A really good compiler optimizer will yield efficient code regardless of the source. And servers can be scaled up cheaper than qualified programmers can be hired. Yet for some reason, developers still insist on worrying about the nuanced differences between QuickSort and HeapSort.
-
If only SVN would fix their rename bug
The SVN people might entice me back from git if they would fix Issue 898, which has been open since 2002. After getting bitten by this twice on large checkins, and having to hack the
.svn files to get out of it, I'm done with Subversion. Also check out the hostility from the developers in the last comment.With git, this is not an issue, because you can commit straight renames and moves to your local repo without affecting the central repo, and git keeps perfect track of them.
-
Re:.NET Developers Have Long Favored Open Source
How about these to name just a few?
Plus tons more available on:
-
Start Learning Python
I'd recommend that you start learning Python. I moved away from PHP to Python in late 2008 and have NEVER, even once, looked back. Its just a better engineered language and the community is more deliberate and professional. SQLAlchemy is the best database library/ORM ever! And there are plenty of web frameworks to choose from (start with Flask or Pyramid).
Here are some thoughts from 2008 that got me moving away from PHP towards python. The python web community has grown a lot over the last few years, so my comments about Python being hard to get started in can be considered somewhat deprecated:
http://old.nabble.com/Creole-is-Dead,-long-live-Python!-p20488959.html
http://propel.tigris.org/ds/viewMessage.do?dsForumId=1093&dsMessageId=88191Finally, Python is much more general purpose than PHP, so the Python skills you learn while doing web development can be put to use in other programming areas (I do a lot of scripting and data manipulation with Python).
-
10 suggestions: For what it's worth
1. Blog your progress. Whatever you did today, blog it. Let people know what you did that worked, or what was faster (Nginx vs. Apache), or what wasn't (ColdFusion?). Don't reinvent the wheel, use WordPress, regardless of whether you like PHP/MySQL or not.
2. Use a subscription/payment management company. You're just a small group of nerds, not accounts receivable clerks. Fastspring, Plimus are free; Chargify, Subsify, Cheddar Getter, BrainTree, Spreedly charge; and Zuora is expensive.
3. Use Google Docs and Slideshare to share documents.
4. Chat. Don't just rely on email. Emails can often read like "this way or the highway". Be collaborative. You can often accomplish more with 15-30min collaboratively as opposed to composing and responding to long emails. Skype, Jabber, SIP
5. Take notes on what you did. Made a server configuration or a setting change in your CMS, your compiler, or whatever? Copy and paste from xterm so you don't have to guess about those commandline switches next time. Take screenshots and make them available to others. Zim, Projly, DokuWiki.
6. Have a phone numbers. If not bog-standard landline phones, take advantage of Google Voice and SkypeOut and SkypeIn (people can call your Skype line on a normal phone number). I realize Google Voice might not be available in South Africa yet.
7. Someone mentioned version control. Use git if you're a cool kid. Or svn if you're old and busted. Read the RedBean book. I've had success in having non-tech colleagues using graphical clients like TortoiseSVN (integrates into Windows Explorer).
8. Write tests. Any member of your team, sitting anyplace, should be able to push a button and run all your tests. Tests document how you're supposed to use a given method, class, etc., especially valuable when you're so far flung. Use JUnit, PHPUnit, FooUnit for your language. Write the tests before you develop, and you're doing Test Driven Development.
9. If you're writing tests, that implies loose coupling, which might require dependency injection. Can be difficult to climb that mountain, but it's worth it when you can just run a test and be sure your project works.
10. Development processes: Scrum, Extreme Programming. UML lets you communicate graphically about objects.
-
10 suggestions: For what it's worth
1. Blog your progress. Whatever you did today, blog it. Let people know what you did that worked, or what was faster (Nginx vs. Apache), or what wasn't (ColdFusion?). Don't reinvent the wheel, use WordPress, regardless of whether you like PHP/MySQL or not.
2. Use a subscription/payment management company. You're just a small group of nerds, not accounts receivable clerks. Fastspring, Plimus are free; Chargify, Subsify, Cheddar Getter, BrainTree, Spreedly charge; and Zuora is expensive.
3. Use Google Docs and Slideshare to share documents.
4. Chat. Don't just rely on email. Emails can often read like "this way or the highway". Be collaborative. You can often accomplish more with 15-30min collaboratively as opposed to composing and responding to long emails. Skype, Jabber, SIP
5. Take notes on what you did. Made a server configuration or a setting change in your CMS, your compiler, or whatever? Copy and paste from xterm so you don't have to guess about those commandline switches next time. Take screenshots and make them available to others. Zim, Projly, DokuWiki.
6. Have a phone numbers. If not bog-standard landline phones, take advantage of Google Voice and SkypeOut and SkypeIn (people can call your Skype line on a normal phone number). I realize Google Voice might not be available in South Africa yet.
7. Someone mentioned version control. Use git if you're a cool kid. Or svn if you're old and busted. Read the RedBean book. I've had success in having non-tech colleagues using graphical clients like TortoiseSVN (integrates into Windows Explorer).
8. Write tests. Any member of your team, sitting anyplace, should be able to push a button and run all your tests. Tests document how you're supposed to use a given method, class, etc., especially valuable when you're so far flung. Use JUnit, PHPUnit, FooUnit for your language. Write the tests before you develop, and you're doing Test Driven Development.
9. If you're writing tests, that implies loose coupling, which might require dependency injection. Can be difficult to climb that mountain, but it's worth it when you can just run a test and be sure your project works.
10. Development processes: Scrum, Extreme Programming. UML lets you communicate graphically about objects.
-
Legislative Development with CVS, SVN, Hg, or Git?
Likely the best websites from the US Government...are the Library of Congress site and the Supreme Court site. Both of them are extremely informative, and have a massive wealth of information that is readily available.
Development of legislation is quite byzantine and revision (mis)management during the drafting can make for some very serious readability problems. Currently it is nearly impossible to have time, even for a full-time politician with staff, to have time for their team to individually work through all changes and revisions of a draft of a bill.
Using a version control system (CVS, Subversion, Mercurial, Git) makes it very easy to track individual changes and who made them. It also makes it trivially easy to integrate all the changes and show a snapshot of the current draft or one from any arbitrarily earlier version.
Code bases for large software projects are unwieldy, constantly changing and have many authors yet need full transparency and accountability to succeed. So are drafts of legislation. Using a versioning system in our legislative process is long overdue.
-
Re:Final cut pro == sad
Lets not forget things like Big Buck Bunny (http://www.bigbuckbunny.org/) the whole video was made with FOSS tools. Hell, here's the list of every program/software they used:
Blender http://www.blender.org/
GIMP http://www.gimp.org/
Python http://www.python.org/
Inkscape http://www.inkscape.org/
SVN http://subversion.tigris.org/ (I think thats the right link)
Ubunutu http://www.ubuntu.com/
-
Re:Separate SVN deploys
Your points are quite cogent: please allow me to add 3 details.
The 'svnserve -t' is usually added at the start of the authorized_keys: it's described in the Subversion FAQ at http://subversion.tigris.org/faq.html. Of course, that FAQ fails to set the '--tunnel-user=[username]' to get the logs recorded correctly. This kind of ignoring of necessary details is rampant among Subversion administrators and users, as we saw earlier with someone claiming 'svnadmin create' is all you need, and completely ignoring the handling of SSH keys.
If any user has write access to the bare files of the Subversion repository, they can modify _anything_. Logs, revision history, or files can all be modified with enough work. Logs, in particular, are easily modified by modifying the 'pre-revprop-change' hook script to enable easy modifications of the 'svn:log' property for a particular revision. This is potentially very nasty, but also helpful for correcting typos in logs or adding details to them after the fact.
Controlling the 'tags' space the way you describe is useful, but is unauthenticated. If I can edit the bare repository, I can modify the contents of your tags, pretty much without your knowledge unless you already have a checked out copy. Git has a very helpful option for GPG signing tags: this helps assure that the contents of a tag are, in fact, approved for release and helps prevent various man-in-the-middle attacks or deceitfully presented tags from being used to replace authorized code.
-
Tools, Practices and Standards
We utilize a number of tools depending on the site, but generally:
Version Control (Subversion) for management of the code base (PHP, CSS, HTML, Ruby, PERL,...) - http://subversion.tigris.org/
BCFG2 for management of the system(s) patches and configurations (Uses svn for managing the files) - http://trac.mcs.anl.gov/projects/bcfg2
Capistrano/Webistrano for deployment (Webistrano is a nice GUI to capistrano - http://www.capify.org/ / http://labs.peritor.com/webistranoHowever, all of the tools above mean nothing without defining very good standards and practices for your organization. Only you and your organization can figure those out...
-
Re:Git and Mercurial?
storing passwords silently in your local $HOME/.subversion/auth direcotory by default, unencrypted
Call me crazy, but exactly how is this insecure? It's the filesystem's job to provide security, hence the access for the directory is 700. Exactly what kind of scenario would an unauthorized person having access to your home folder not already be enough of a security breach so as not to matter? Even then, you can turn off password caching entirely if you want if you're really worried about it (store-passwords = no).
Even then, the FAQ claims that the system will use Keyring or KWallet if you've got them, too (and similar encryption features on Windows and OS X).
-
For programmers . . .As a programmer, I have three questions I ask prospective employers:
- What revision control software are you using?
- What system do you use for tracking bugs?
- Are you familiar with Capability Maturity Model Integration (CMMI)? If so, what level certification have you achieved?
If they respond to #1 with a blank stare or "huh?" I'd advise running for the door. If they are not using any kind of revision control software, and don't know what it is, the place is very poorly managed and will cause you some serious nightmares. All of the places where I've worked, which didn't use revision control, went out of business within a couple years.
Personally, I prefer Subversion, and I converted my prior employer to using it. They didn't understand why I wanted to use it, but they weren't averse to trying something new. After it saved our butts a couple times, they understood perfectly well why I wanted to use it and continue to use it after I left.
The job before that, I used StarTeam. Borland bought StarBase (the maker of StarTeam) while I was with that employer.
My current employer uses CVS. It has its warts, but it works.
For question #2, my current employer uses Bugzilla. It works reasonably well. My prior employer didn't have a bug-tracking system. The second or third web app they had me write was a bug-tracking system, not oriented toward software development but toward the larger company (hospitality). We ended up using a wiki for bug-tracking. StarTeam had a "Change Control" system built into it, so that employer had excellent bug-tracking software.
I've had only one employer who knew what CMMI was (question #3). They could've passed a level 3 certification if necessary. If you're going to develop for the DoD, you used to need a level 4 cert; not sure if that's the case any more.
For those who don't know, CMMI is merely a methodology for ensuring that:- coding standards are in place
- development documentation is in place
- the project is well-managed on, time, responsibilities and risks
- there is a reasonable probability of delivering on-time
It can be tedious, consistent, or both. The better places are the latter, not so much the former.
In short, they should have good, solid answers for #1 and #2, while #3 is a nice-to-have. -
tortoisesvn
-
Re:Amusingly..
Personally I use, and recommend a version control system...
-
Re:Different tools for different purposes
It seems what he needs is "Fast System VerSioning" (FSVS) http://fsvs.tigris.org/
It is a complete backup/restore/versioning tool for all files in a directory tree or whole filesystems, with a subversion repository as the backend. You may think of it as some kind of tar or rsync with versioned storage.
In which ways is FSVS better than subversion?
* FSVS keeps the modification timestamp, the owner, group and access mode of your files in the repository, and restores them on update/export.
* svn is restricted to files, directories, and symlinks; FSVS does device nodes too.
* The svn client needs the .svn-directories, with the full-text of your text-base in them; that means 4 times the inodes, and more than 2 times the space needed in your filesystem. -
Re:Google's quantum leap
But in the end you still have many copies of documents, and you're always trying to keep changes synced across them. This approach breaks down when you have multiple sources of change... conflict resolution will always jump up to bite you.
There are already good solutions to this problem: it is called revision control and the Subversion system is a high-quality open source solution to most common version control / sharing scenarios. Visual Source Safe wishes that it could be as good as Subversion, but the open source crowd beat them to it.
The problem with generic revision control systems is that rich document formats like odf and ms doc are not inherently mergeable without knowledge of file formats. Some tools (mercurial being one) can invoke external merge tools which in theory allow users to manually merge documents. But it never works as well as plain text source code.
-
Re:Google's quantum leap
But in the end you still have many copies of documents, and you're always trying to keep changes synced across them. This approach breaks down when you have multiple sources of change... conflict resolution will always jump up to bite you.
There are already good solutions to this problem: it is called revision control and the Subversion system is a high-quality open source solution to most common version control / sharing scenarios. Visual Source Safe wishes that it could be as good as Subversion, but the open source crowd beat them to it.
And Subversion wishes that it could be as good as Team Foundation System.
-
Re:Google's quantum leap
But in the end you still have many copies of documents, and you're always trying to keep changes synced across them. This approach breaks down when you have multiple sources of change... conflict resolution will always jump up to bite you.
There are already good solutions to this problem: it is called revision control and the Subversion system is a high-quality open source solution to most common version control / sharing scenarios. Visual Source Safe wishes that it could be as good as Subversion, but the open source crowd beat them to it.
-
Re:MPC Home Cinema VLC
Hey, it's Windows software. Tarballs are more of a hassle than SVN on windows!
:PThank goodness for TortoiseSVN.
-
Re:Agile Software Development and Planning
I have good experience with Scrumworks for planning the development work using Scrum, Trac for PR/CR management and Subversion for source control.
-
Re:why?
I think any technical writer that isn't scared away by the syntax of LaTeX should be able to master "svn update", and "svn commit". And if that's too much, there are plugins for Windows, Mac, and Linux that integrate Subversion with the normal file browser.
Exactly. Our lab submitted a collaborative paper that involved five people editing the document. SVN was more than enough for our needs, and all you need is an Apache install running somewhere. It literally was painless because of SVN, just make sure everyone types in descriptive log messages. Bonus: the commit logs can help you determine the order of authors
:)On the frontend, the best SVN clients I've used are TortoiseSVN for Windows and RapidSVN for Linux. As I said, couldn't be happier with the setup. IMO, any more functionality is absolutely unnecessary.
-
Re:why?
I think any technical writer that isn't scared away by the syntax of LaTeX should be able to master "svn update", and "svn commit". And if that's too much, there are plugins for Windows, Mac, and Linux that integrate Subversion with the normal file browser.
Exactly. Our lab submitted a collaborative paper that involved five people editing the document. SVN was more than enough for our needs, and all you need is an Apache install running somewhere. It literally was painless because of SVN, just make sure everyone types in descriptive log messages. Bonus: the commit logs can help you determine the order of authors
:)On the frontend, the best SVN clients I've used are TortoiseSVN for Windows and RapidSVN for Linux. As I said, couldn't be happier with the setup. IMO, any more functionality is absolutely unnecessary.
-
Source Control (Subversion) for Bills?
Ever since I was introduced to and began using the open source source control system Subversion, I have thought about how a source control server(s) for legislative bills would be one of the best ways to allow the public to stay informed about Congressional activities and, perhaps more importantly, to easily track changes in various pieces of legislation as they work their ways through Congress. So if the administration is serious about using open source AND they want to increase transparency in the legislature then it would be hard for them to go wrong with tool(s) like Subversion.
-
TortoiseGit: the best shot at a Windows GUI
At work we're trying to get all our our repos moved to Git. We moved off of CVS to SVN a year or so (which was a huge improvement), but now that all of the non-programmers in the office are used to using TortoiseSVN, lack of a good windows GUI for Git has been a bit of a roadblock.
The msysgit folks started work on Tortoise-inspired GitCheetah GUI, but that project basically fizzled out. Lots of people wanted a Windows GUI, but no one had both the resources and drive to step up and do it.
Then, exactly two months ago, Frank Li started working on TortoiseGit. From what I can tell, this is a fork of TortoiseSVN with most of the Subversion guts pulled out and replaced with git commands. TortoiseGit is not done yet: 'git add' has some issues, Submodules don't seem to work at all, etc..., but development on the tool is in high gear and the primary developer is going the extra mile to help users.
If you're looking to deploy tools right now, gitk is a bit more powerful than the log in TortoiseGit, but might be more confusing for naive users.
-
Use cvs2svn for CVS repositories
Use cvs2svn to convert your existing CVS repositories.
The tools that come with git for converting CVS to git do not work. You will see other posts about how git is different, such as how it manages commits versus files. CVS manages files, and doesn't track them well.
It has no ideas of when a branch ends, and even when they start is a bit iffy. Add to that the fact that CVS lets you pick and choose random files to be on a branch, then you can really start to get into a strange state.
For our CVS repository (goes back to 2001, we had 100's of branches, maybe 1000 tags), the git cvsimport tool placed code from our current development trunk into older versions. I'm sure you can see how bad that is.
After getting burned by that, we turned to cvs2svn. It took a long time (8 hours) to convert, but it converted correctly, and you only ever have to do it once.
My advice is to convert your repository, then check out random versions from both CVS and git, then run a diff on all the branches of importance. I wrote a script to do it for all branches and tags because I got burned the first time.
-
Re:it depends on the size, I think
All of those problems go away when you can easily merge, because then branches cease to be painful - but then I've found that the best merges Git makes are the ones you get from rebaseing or cherry-picking, which SVN cannot do.
When was the last time you used SVN? Everything you just said is very confusing, 1.5 came out over a year ago and seems to have most of the features you say it does not.
http://subversion.tigris.org/svn_1.5_releasenotes.html
http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.branchmerge.cherrypickingAs for rebasing, this is the first I've heard of it. It sounds interesting, but I don't really understand the problem it was meant to solve.
From http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#using-git-rebaseSuppose you are a contributor to a large project, and you want to add a complicated feature, and to present it to the other developers in a way that makes it easy for them to read your changes, verify that they are correct, and understand why you made each change.
If you present all of your changes as a single patch (or commit), they may find that it is too much to digest all at once.
If you present them with the entire history of your work, complete with mistakes, corrections, and dead ends, they may be overwhelmed.
Just seems a little superficial to me
:\ A single patch is too much, the actual VCS history is too much, so the ideal is offering a doctored up change history?
Wouldn't the end result be more interesting? I think good source comments with other documentation would be easier to understand and more proper than reviewing the change history of someone's patch.
Since when was how someone's patch was developed more important than what was developed? Isn't diving into the VCS to find reasons for something being just a sign that the code wasn't documented properly? So, yes, we dive into VCS history to solve preexisting documentation problems, but when it comes to accepting someone else's patch, isn't that the time to simply demand good comments and or documentation?I like what I've heard of DVCS systems so far, but I don't see what the mad rush to git is all about. Maybe it just makes more sense in the OSS context where a bunch of strangers are working on a project, wherever, whenever they want to. *shrugs*
-
Re:Strange Complaints
- Finder can't give you path
This is true enough - it can be difficult to get a path string from the finder into the clipboard, but if you need a path from the finder in the terminal, you can just drag and drop the file/folder in question into the terminal.
- Finder doesn't support SVN like tortoiseSVN
Try this
- Intenet Explorer (yes, customers
:( test needs windows in Parallels)No argument there - I'm a web developer, and unfortunately have to run Explorer in vmware for testing purposes.
-
Re:other crooked OCLC behaviors
Assuming your metadata isn't too complicated (and since you're using CSV, I'm assuming it isn't), it should be very simple to convert it to MARC using MARC4J. I'm not sure if there are similar libraries for Perl or other languages.
In fact, I'd be happy to help you with this, since it's pretty ridiculous to be charging for such a simple service. You can email me at escowles [at] ucsd.edu.
-Esme
-
Re:What is a good industrial document management
Have you looked at Subversion lately?
http://subversion.tigris.org/
'Document management system' is kind of ambiguous, but this may be what you are looking for. I have it set up on an entirely open source server running FreeBSD 7, and I use it to manage CAD files for a group of 8 engineers. We have just set up a separate repository for our QA manager to track revisions to our controlled forms and procedures for our ISO 9001 requirements. -
Subversion "has" merge tracking
I know I'm not answering your question, but you may be asking the wrong question. Subversion 1.5 "has" merge support, but you still can't do safe bi-directional merges. (Wherein you make a feature branch "foo", merge from trunk to foo, foo to trunk, trunk to foo, foo to trunk, etc.)
Also, you can't safely merge from branch to branch (merging from "foo" to your production "2.x" branch, without passing through trunk).
Here's the designer of SVN merge support discussing the problem:
http://subversion.tigris.org/servlets/ReadMsg?listName=dev&msgNo=127570Unfortunately, if you want real merges in an open source project, you're stuck with the distributed source control systems like git, mercurial, darcs, etc. even if you don't need distributed features.
But you may come to like distributed source control (many people do)... they have tools like "ticgit" that you may like better than some of the other svn-based tools out there.
-
TortoiseSVN
Probably the most user friendly one I've found (assuming you are working in the windows enviroment and sshing into a linux box). It's very similar to TortoiseCVS, if you have ever tried that. TortoiseSVN integrates right into explorer as well for ease of use. Link to their site: tortoisesvn.tigris.org
-
Re:No views?!
While kind of hackish (it uses dia as its GUI), cool projects like tedia2sql make it easy to develop a single schema which works on 8 or 9 major RDMS, for free. It's even possible to generate customized triggers and/or schema sections on a per RDBMS basis.
I don't think it covers stored procedures. It has been a long time since I've used it, but regardless, considering stored procedures are often ignored, it may or may not be a factor for your next project.
-
Re:Move to CVS
There's svndumpfilter - it can completely obliterate selected files. A complete dump/load cycle requires a bit of time, though.
See: http://subversion.tigris.org/issues/show_bug.cgi?id=516
Frankly, that's a pretty stupid reason to chose CVS over SVN.
-
Re:Choose them all under one.
TortoiseSVN is very good and integrates with Windows explorer really really well (if you like that sort of thing).
Sorry, but no... Tortoise SVN is good, but is still lacking some things:
- Diff/Merge (may be configured to use an external tool, I really don't know)
- Taking care of stupid things users do (namely, copying stuff between directories and taking the .svn with them)
- Status indication is fuzzy with the icons Tortoise shows
- Support for all svn commands is lackingTortoise is not bad, bit it is too simple...
Now take a look at this: http://www.syncrosvnclient.com/
Or even this: http://rapidsvn.tigris.org/
-
And stand-alone's can rival webapps
This is also a very good example (IMO) for solid desktop applications in Java, what about an online UML editor ? If your browser supports Java natively just click the link and fire the ArgoUML application. Presto; an instant UML editor which can also be solely used online.
-
Re:Upgrade breaks working copy compatibilityThere is an important piece that is going to keep me from being able to use it for a while
Subclipse 1.4.0, which works with Subversion 1.5.0 has been released. TortoiseSVN release candidates that are compatible with SVN 1.5 have been out for a while, and the plan is to release TortoiseSVN 1.5.0 this weekend.
Those (along with the SVN commandline client) are probably the most popular clients, so most people won't need to wait "a while".
-
Re:SVN's weaknesses
The problem stems from the fact that we want to lock down the trunk and have one user responsible for managing that trunk. This is impossible in the current version of SVN without erasing the history of the true author on the code. See the Sub version Roadmap for details, especially the section labeled "Commutative Author and Revision Reporting for Merged Changesets".The build manager can't merge the changes without those changes taking on his identity, that is, all identifying information about the originator of the changes is lost.
Since I'm sure you're not talking about what svn blame gives you, what do you mean exactly? -
helloooo merge tracking
This probably should have been in the summary -- merge tracking is being added in 1.5, so bouncing changes from one branch to another is now easy. This is a huge feature, and something as I recall Linus specifically complained about in his talk.
http://blogs.open.collab.net/svn/2007/09/what-subversion.html
BTW, they did a really nice job of mapping out the use cases and whatnot before implementing the feature. I guess source control people are natural planners.
http://subversion.tigris.org/merge-tracking/requirements.html
Anyway, I'm sure the world will continue to have need for both distributed and client/server source control systems, and Subversion is a nice example of the latter. -
Re:Please clarify
OK, half of your complaints are key mappings. If you want to truly exploit the software, learn VS's key mappings.
* Multi-CPU compiling of the same project. Visual C++ charges (at least before 2008 came out, perhaps they dropped it - I doubt it) $2,500 for the luxury with the professional edition or above, and I'm not willing to drop $2,500 on -any- software just so it doesn't refuse to do something so basic.
Lies, lies and more lies. You can compile across multiple processors in the same project with VS 2005 express edition. Use the /MP compiler option. I have, with 2005 express edition. * SVN integration right in the project view with Subversive. ...
If you go to thesubversion website, you'd see no less than three integration options with Microsoft Visual studio.
* Compiler speed. GCC is much faster than Visual C++ 2005 Professional on the project I am working on.
Funny, because I've had the opposite experience (heavy number-crunching codes) on identical hardware, and I've tried to have rational conversations with people to figure it out (because not only is the compiler faster, but the resulting code seems faster on Windows as well for the same number of cores, but the clusters I compute on are Linux), so I can't figure out if it's a gcc issue or if I am just dumb. Mostly playing with the Intel compilers right now to get a third opinion.
-
Re:Good news for us, I guess...
I agree with your argument but none of your examples.
:/
SVN's behaviour with respect to passwords is quite well documented and oft-discussed. If you have the magic bullet answer by all means please provide it in a patch.
(Hint: some OS have secure password storage systems, but none of the m use the same one. Second hint: passwords, particularly any that get sent over the wire in any form, are crap. Oh, just look here: http://subversion.tigris.org/faq.html#ssh-auth-cache ) -
Re:Wow, that's a big fat ASS^H^HPI
Have a chip on your shoulder much? Most of what you're saying is simply incorrect. e.g. Java does not have half-a-dozen containers. Yes, the switch from the STL-inspired Vector to the more Java-ish ArrayList was annoying. Same with HashTable to HashMap. But beyond that, all those different containers you think you see are actually interfaces for wiring up complex functionality. Either that or completely different data structures with different performance characteristics. (Remember your CompSci courses?) The Java Collections package (which seems to be the only thing in Java you're remotely familiar with) provides enough functionality to write a complete database engine. Which, as a matter of fact, has been done quite a few times. (Sorry, ran out of words to link. Doh! Still more. Ah, to hell with it.)
The rest of the Java API is also not bloat. There are libraries for printing, crytography, sound, graphics, DOM, file I/O, text parsing, text formatting, text display, mathematics, directory interfaces (e.g. LDAP), distributed object systems, reflection, security, SQL database interface, logging, cross-platform preferences, regular expressions, ZIP/GZip support, accessibility, networking, the compiler, scripting engines, etc., etc., etc. Very little of the core API is redundant, with most of the (few!) redundancies being a result of the early days of Java before they moved away from the C++ style objects.
Nearly all of the post-1.0 APIs were done correctly the first time. Which means that the core Java API is actually quite slim for the amount of functionality it provides. And even then, there is a HUGE number of official expansion APIs for mail, multimedia codecs, network request/response handlers (e.g. servlets), 3D graphics, 3D sound, text-to-speech, speech recognition, telephony, SOAP, REST, USB, Bluetooth, scientific units, cross-platform desktop integration, Instant Messaging, P2P, and quite a bit more. And that's just the official JSR-approved expansions! The OSS and (bleh) commercial worlds are full of unofficial libraries to deal with nearly any problem you can come up with.
If you want bloat, stop looking at Java. Try compiling a few Linux apps sometime and tell me how many redundant libraries you come across. If you know what they all do (which is a miracle in of itself), compiling just ONE of those programs is enough to make a person blush with embarrassment. Not to mention that when a platform IS solidified (e.g. GNOME), it suffers from versionitis. (i.e. The constant need to upgrade your version of the libraries because this latest program no longer targets the version you just compiled. Or even worse, it requires a specific minor release, thus requiring you to have multiple minor releases of the library compiled and installed.) I won't even go into Microsoft's practice of inventing a new API for the same technology over, and over, and over again. (ODBC, DAO, ADO, JET, anyone?)
Now I happen to think that a lot of the choice that Linux offers is good. But don't point fingers at other platforms when there are more than enough examples of far worse situations close to home. -
Re:And this is why Linux is still laughed at...The name of the package to install subversion is subversion. Look through it either in Synaptic, or if you're used to the CLI: apt-cache search subversion To show a list of packages with subversion in the name/description. If you want to see the details for the subversion package, it's apt-cache show subversion
pxc@cooldude:~$ apt-cache show subversion Package: subversion Priority: optional Section: devel Installed-Size: 3452 Maintainer: Ubuntu Core developers Original-Maintainer: Peter Samuelson Architecture: amd64 Version: 1.4.4dfsg1-1ubuntu3 Depends: libsvn1 (= 1.4.4dfsg1-1ubuntu3), libapr1, libc6 (>= 2.6-1), libsvn1 (>= 1.4) Suggests: subversion-tools, db4.4-util, patch Filename: pool/main/s/subversion/subversion_1.4.4dfsg1-1ubuntu3_amd64.deb Size: 252964 MD5sum: ce6362598e34f76d91da61b11ee0c658 SHA1: 31cd84a9df9936b29cf9840177919b1c6da87e0f SHA256: 63f0cdac47afe41715c541dff596e1055576243939f122025d1927fedab244b1 Description: Advanced version control system Subversion, also known as svn, is a version control system much like the Concurrent Versions System (CVS). Version control systems allow many individuals (who may be distributed geographically) to collaborate on a set of files (typically source code). Subversion has all the major features of CVS, plus certain new features that CVS users often wish they had. . This package includes the Subversion client (svn), tools to create a Subversion repository (svnadmin) and to make a repository available over a network (svnserve). . Homepage: http://subversion.tigris.org/ Bugs: mailto:ubuntu-users@lists.ubuntu.com Origin: Ubuntu
I hate to say it, but... well, I kinda like saying it, actually. RTFM. "man apt" would have solved your problem, as would have clicking the nice big search button in Synaptic. -
Because it's more standards-friendly
"it's looking at whether Windows 7 favors Microsoft apps over third party programs"
Doesn't Apple very heavily lean towards Apple software?
(This isn't starting flaming, this is a legitimate question - what separates Apple from Microsoft in these regards?)
That rather depends on what you mean by "lean heavily", doesn't it?
Apple is generally pretty standards-friendly. And why not? Interoperability represents a threat to a company that has a near monopoly, as Microsoft has. But it tends to be in the interests of the smaller players.
So, for example, Microsoft tries to lock businesses into Outlook/Exchange. Apple, by contrast, has Darwin Calendar Server available:
http://trac.calendarserver.org/projects/calendarserver
That uses open protocols, like CalDAV, and is even itself open-source code. Here's the source code:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74
But, even if it wasn't open source, it uses CalDAV. That's the point. You can use Apple's calendar server with someone else's calendar clients -- say, this one:
http://www.mozilla.org/projects/calendar/sunbird/
Alternatively, you could use Apple iCal client on OS X with someone else CalDAV server -- e.g.:
http://www.osafoundation.org/
So, no, whatever some people might like you to believe NOT the same at all. -
Re:Look at me, I'm subversive
Obviously the dev team never got around to properly configuring Subversion.
-
Re:Email reshaped the company world(Yes, I realize that's a Microsoft-centric view, and the same thing could be accomplished in many ways, even with something as simple as a CVS server and web interface. But when you're talking about pushing around Excel, Word, Powerpoint, etc documents you may as well share them around in the Microsoft way, since the Office apps understand how to read files from and save files to SharePoint, including the check-in/out process.) If you're having to interop between lots of different platforms, subversion works superbly (it handles binary files better than CVS) and there are good tools about for integrating it with Windows.
-
Re:Linux isn't done yet
on Slackware 11 I just used
./configure --with-apr-config=apr-1-config --with-apu-config=apu-1-config
and it worked.
How did I know to use apr-1-config
first I ran ./configure and got the same error
then I looked in the package listing for apr-1.2.7-i486-1 and it says
usr/bin/apr-1-config
I match that to ./configure --help saying
--with-apr-config=FILE Use the given path to apr-config when determining
APR configuration; defaults to "apr-config"
and the same goes for apu
however it 0.9.4 does not compile as there is an error I google the error
`OnOK' is not a member of `CheckoutDlg' rapidsvn
Get one page saying it works in 0.9.3, so I try that and get the same error.
I try to download the latest build but all they have on their site is win32. They however have a link down the bottom of their page to their subversion repository.
$ svn co --username guest http://rapidsvn.tigris.org/svn/rapidsvn/trunk
$ mv trunk rapidsvn-$(date +%F)
$ cd rapidsvn-2007-10-23
$ ./autogen.sh
$ ./configure --with-apr-config=apr-1-config --with-apu-config=apu-1-config
$ make
$ su -c 'checkinstall'
open up a prompt and
$ rapidsvn
There we go -
Re:You gotta be kidding.
I prefer to write LaTeX in my preferred editor, using version control. However, this doesn't always permit collaboration with my colleagues. Since OP mentioned commenting, I'd imagine that interoperability would be important. While LyX's GUI makes it more accessible to new users, it still isn't going to convert many who exclusively use OO.o Writer or MS Word. And not all publishers accept the export formats from LyX. So, it is still good that OO.o Writer exists as the lesser of two evils.
-
Re:In OOXML?
Perhaps argoUML? Granted, I don't think it saves Visio compatible files.
-
Re:blazing new ground here, man
Subversive seems to be still in incubation. I use Subclipse daily and cannot find fault with latest versions.
Now, if anybody could point me to a git or darcs plugin...