Unfortunately, this doesn't force it to run. From the JDK 1.4.2 Javadocs for System.gc():
Calling the gc method suggests that the Java Virtual Machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse.
> low level managers and admins struggling > to flex any muscle they have
So true. Nice post.
The only thing you forgot was this: is there a stack of cracked and faded white binders full of 3 year old specifications on every developer's bookshelf, or are they full of O'Reilly books, Knuth, and Game Programming Gems?
PHP GAUNTLET CHALLENGE 1 Challenge : Create Article Submition, Display, and Approval System Submitted by : April 10th, 2004 (Date may be changed, number of submitions pending) Requirements: See Below
Welcome to the first of many PHP GAUNTLET CHALLEGES. The concept behind these challenges is to have a user create an article submition, display, and approval system. This system has to utilize an SQL database, have email functions, and be portable. When I say "portable" I mean that it should be easily transferable from different template desigins. A good example of an article submition system is the one at Slashdot.org.
Specific Requirements:
1. The PHP scripts must be universally executable, meaning, they should be able to be moved to any directory (structure intact) and work properly. 2. The PHP scripts must have a include file called "connect.php", in this file, you should be able to specify the database server, passoword, and userid. An Example of this can be seen below:
3. The PHP script must be able to be included into an area of a page, allowing for ease of portability. 4. Register Globals will be on. 5. You will be given 1 database, and unlimited tables. 6. The PHP script must have an article display, submition, and approval system. 7. The submition system must work in conjunction with the approval system. Once something is submitted, it should be able to be emailed to the site webmaster, and then approved by a URL in the email.
I know that most of this seems complicated, and very specific. However, I am attempting to make everything as such to give everyone a fair chance. If you wish to add any features, please do so. I will hopefully be submitting an example script for everyone to look off of soon.
...since it was getting downloaded around 5000 times a day before it got pulled. I'm sure the other project admins at Sarovar aren't sad to see it go; now they have a much more responsive server:-)
And again, if you put up a public (foo)Forge, make sure you have a Terms of Service document to cover this sort of thing.
One of the techniques he discusses is using a psuedorandom number generator to create game objects and attributes and such, and shipping the game with a couple of pregenerated seeds to start up the generators. He uses the game Elite a lot in his examples, and anyone who's played that game knows what a good job they did in that regard.
It's an interesting approach, especially when contrasted with WAD files.
Although SourceForge will be much faster now that PlayFair has moved to Sarovar:-)
No, but seriously, folks. If the top 10 projects moved off of SourceForge, I bet that'd eliminate 75% of the load. eMule alone gets downloaded a quarter-million times a day...
> that can then be more specialized to > the needs of different groups
Very well said. And this is happening with GForge installations. For example, there's graal.net, which is "the home of Graal Player World collaborative development". Instead of projects, they've got "worlds".
Over on RubyForge, we're working on integrating the Ruby project distribution mechanism - Ruby Gems - into the GForge file release process. It's mostly duct tape currently, but it's coming along.
> And in the Faq that they refuse > to accept MySql patches
It's not that simple. It'd be a fair bit of work to port GForge to MySQL, and for what gain? PostgreSQL is fast, stable, and open source. And targeting PostgreSQL means we can write stored procedures to make hotspots faster.
I agree that abstraction layers are good, though - we've chatted on the forums a bit about the pros and cons of refactoring towards PEAR.
Unfortunately, this doesn't force it to run. From the JDK 1.4.2 Javadocs for System.gc():
Note the "suggests". No guarantees...
I agree that this is an excellent Ruby idiom... very handy.
> Finalizers in Java are equvilent,
> in C++ terms, to not doing any cleanup
> and relying on the OS to do it.
Yup. We've got an entire ruleset in PMD dedicated to tracking down devious finalizer bugs.
There's a good book on the auto[blah] part of that - it's GNU Autoconf, Automake, and LibTool.
It gives a good overview, as well as some extras - i.e., chapter 21 - "Writing Portable Bourne Shell".
> low level managers and admins struggling
> to flex any muscle they have
So true. Nice post.
The only thing you forgot was this: is there a stack of cracked and faded white binders full of 3 year old specifications on every developer's bookshelf, or are they full of O'Reilly books, Knuth, and Game Programming Gems?
> For once
Be not dismayed, I'll go back to my old ways as soon as an opportunity presents itself...
> Thanks, Tom!
You're welcome - but why would you post such a devastating retort as an AC? Unmask thyself, forsooth!
...and you've got a Ruby app to write, you'll be happy to know that Ruby/DBI is available.
It's being actively developed - a FrontBase release just happened a few days ago - and it supports a big list of databases.
Yessir.
...right here.
There's also a separate 3DIF site.
We've been using mod_php (PHP 4.3.4) and Apache 2 on SemWebCentral for a while now with no problems...
* fingers crossed *
...since it was getting downloaded around 5000 times a day before it got pulled. I'm sure the other project admins at Sarovar aren't sad to see it go; now they have a much more responsive server :-)
And again, if you put up a public (foo)Forge, make sure you have a Terms of Service document to cover this sort of thing.
Er, make that "Guy Lecky-Thompson". Too many hyphens...
...Infinite Game Universe: Mathematical Techniques that talks a lot about how to have a varied game universe while keeping size requirements under control.
One of the techniques he discusses is using a psuedorandom number generator to create game objects and attributes and such, and shipping the game with a couple of pregenerated seeds to start up the generators. He uses the game Elite a lot in his examples, and anyone who's played that game knows what a good job they did in that regard.
It's an interesting approach, especially when contrasted with WAD files.
That's quite a class:
> it means 20-minute mailing list searches,
:-)
Although SourceForge will be much faster now that PlayFair has moved to Sarovar
No, but seriously, folks. If the top 10 projects moved off of SourceForge, I bet that'd eliminate 75% of the load. eMule alone gets downloaded a quarter-million times a day...
> the real benefit is now you can
> hook into oracle
Yup, true.
> Just have to give up those in the DB functions.
And really, there aren't that many of them, so it might not be a big deal.
I guess it just hasn't been an itch anyone wanted to scratch yet... we're pretty happy with PostgreSQL...
For example, here's a script (from the RubyCocoa home page) that plays the system sounds:Although he probably could have use Dir.glob rather than parsing the output of ls, but, anyhow...
> GForge doesn't actually
> host projects (besides its own)
Right on. That's made clear in the answer to question # 1 of the FAQ.
> that can then be more specialized to
> the needs of different groups
Very well said. And this is happening with GForge installations. For example, there's graal.net, which is "the home of Graal Player World collaborative development". Instead of projects, they've got "worlds".
Over on RubyForge, we're working on integrating the Ruby project distribution mechanism - Ruby Gems - into the GForge file release process. It's mostly duct tape currently, but it's coming along.
> what's the GForge license?
GPL.
> And in the Faq that they refuse
> to accept MySql patches
It's not that simple. It'd be a fair bit of work to port GForge to MySQL, and for what gain? PostgreSQL is fast, stable, and open source. And targeting PostgreSQL means we can write stored procedures to make hotspots faster.
I agree that abstraction layers are good, though - we've chatted on the forums a bit about the pros and cons of refactoring towards PEAR.
> His project name was Dforge or something
Yup, it's DForge; Sung Kim is working on it. You can read his post about it here.
...already. Savannah moving over is certainly a big one, though.
Stuff like this is why we're continuing to optimize GForge's SQL...
...in 4 days playfair has gone to second place on their download counter. Jeepers.
Sarovar will be moving higher on the list of GForge sites pretty soon... they're # 12 currently...