Comments (31)
Hello Carlos,
This was the first thing I tried when the project became open-source yesterday
:) I
was successful in doing so and have been cleaning up my change before
submitting it,
but it will be updated soon.
To create an input file for a SVN repository, you can run this command inside a
checkout folder.
> svn log --xml > my_repo_log.xml
You will then need to edit the INPUT_FILE variable inside code_swarm.pde, which
looks
under the 'data' folder in the source directory.
Original comment by [email protected]
on 20 Jun 2008 at 1:57
from codeswarm.
Original comment by [email protected]
on 20 Jun 2008 at 1:58
- Changed state: Accepted
from codeswarm.
Ok, thanks :)
BTW, I run Processing on Windows and to run code_swarm I have this error.
Screenshot: http://img46.imageshack.us/img46/3037/errorcodeswarmia6.png
Great project!
Original comment by [email protected]
on 20 Jun 2008 at 2:41
from codeswarm.
I just checked in my addition to handle SVN logs. Let me know how it works out
for
you and I will close this ticket once you've verified that it works for you :)
Original comment by [email protected]
on 20 Jun 2008 at 2:42
- Changed state: Started
from codeswarm.
Ah, I got the same error when I first tried to run the project.
What I did was download the Java Runtime Environment 5.0 from here:
http://java.sun.com/javase/downloads/index_jdk5.jsp
And then I downloaded Processing(without Java)
I think the problem was that the PriorityQueue class wasn't introduced until
Java
5.0, and the embedded version of java that came with that Processing download
was
lower than that.
If that works for you, which I think it will, it may prompt you to create a
code_swarm directory to run the program. I'm not sure why it does this since I
have
just started looking over this code as of yesterday :) but if you do as it says
and
then copy the structure of the trunk into that new folder it should run great!
Let
me know if you run into any more problems.
Original comment by [email protected]
on 20 Jun 2008 at 2:52
from codeswarm.
Oh, I forgot to mention, you need to add the verbose flag when you call svn log
so
that it will also extract the author of the commit and what they changed, like
so:
> svn log --xml -v > my_repo_log.xml
Original comment by [email protected]
on 20 Jun 2008 at 3:03
from codeswarm.
> What I did was download the Java Runtime Environment 5.0 from here:
> http://java.sun.com/javase/downloads/index_jdk5.jsp
> And then I downloaded Processing(without Java)
Nothing, not working, I don't understand :(
There are some settings or do something in Processing?
Original comment by [email protected]
on 20 Jun 2008 at 3:31
from codeswarm.
What we could do now is include the svn log of this project as the sample data
file.
Original comment by [email protected]
on 20 Jun 2008 at 3:32
from codeswarm.
Hm, do you have any other versions of Java installed that are getting picked
up? Did
you try restarting your computer after you installed the new Java version?
Just to be sure the correct version of Java is getting picked up, you can run
this
simple app on the Java site.
http://www.java.com/en/download/installed.jsp
Let us know what that site returns. Also, Michael, what would you suggest to
be the
best way for someone to install Processing? And I think it would be a great
idea to
include this project's svn log as a sample for now :)
Original comment by [email protected]
on 20 Jun 2008 at 3:41
from codeswarm.
>Hm, do you have any other versions of Java installed that are getting picked
up? Did
> you try restarting your computer after you installed the new Java version?
I have the Java 6 Update 6. The site returns: You have the recommended Java
installed
(Version 6 Update 6). And I have also tried to restart my computer.
Original comment by [email protected]
on 20 Jun 2008 at 3:59
from codeswarm.
From the screenshot it looks like you don't have the other classes, like Node,
PersonNode, etc. Did you download all the .pde files and put them in the same
directory?
Original comment by [email protected]
on 20 Jun 2008 at 4:01
from codeswarm.
> From the screenshot it looks like you don't have the other classes, like Node,
> PersonNode, etc. Did you download all the .pde files and put them in the same
directory?
omg, that I'm stupid! :$
When open code_swarm.pde creates a folder called code_swarm and then copy all
the
files/folders from codeswarm-read-only/prototype to that folder and works!
I tried to svn codeswarm and I have this error:
java.lang.NullPointerException
at Temporary_5347_8714.update(Temporary_5347_8714.java:258)
at Temporary_5347_8714.draw(Temporary_5347_8714.java:133)
at processing.core.PApplet.handleDisplay(PApplet.java:1465)
at processing.core.PGraphics.requestDisplay(PGraphics.java:690)
at processing.core.PApplet.run(PApplet.java:1562)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at Temporary_5347_8714.update(Temporary_5347_8714.java:258)
at Temporary_5347_8714.draw(Temporary_5347_8714.java:133)
at processing.core.PApplet.handleDisplay(PApplet.java:1465)
at processing.core.PGraphics.requestDisplay(PGraphics.java:690)
at processing.core.PApplet.run(PApplet.java:1562)
at java.lang.Thread.run(Unknown Source)
I tried with another svn that has more commit and works. Ah, how to I can
record a
video of the output?
Original comment by [email protected]
on 20 Jun 2008 at 4:42
from codeswarm.
Glad you got it to work! :)
I'll look into why the svn of codeswarm didn't work.
To create a video of the output, all you have to do is add a few lines at
various
places in the code_swarm.pde. Here is the link to the page on processing's
site that
tells you what to add:
http://processing.org/reference/libraries/video/MovieMaker.html
For the quality, I suggest SORENSON and LOSSLESS, but Michael probably knows of
a
better combination :)
Original comment by [email protected]
on 20 Jun 2008 at 4:50
from codeswarm.
I added these lines to each places (setup(), draw(), keyPressed())
But when running does nothing and nor returns error.
This is my file code_swarm.pde with MovieMaker, that I don't know if it's okay.
Original comment by [email protected]
on 20 Jun 2008 at 5:34
Attachments:
from codeswarm.
There is a method called dumpFrame() in code_swarm.pde which will save the
display to
a file each frame. I prefer to save images rather than encode a video on the
fly for
quality control. The I use ffmpeg to encode the video.
Original comment by [email protected]
on 20 Jun 2008 at 5:40
from codeswarm.
Ok, it seems more easier :)
I have set takeSnapshots in true and created png files in the folder frames.
Original comment by [email protected]
on 20 Jun 2008 at 5:53
from codeswarm.
This is the final result (video and xml) from svn.meneame.net. Menéame is a
Spanish
site like Digg :)
About the video... the colors are ok? I don't know each color.
One last question (I think :P) works with git repositories and how?
Original comment by [email protected]
on 20 Jun 2008 at 6:49
Attachments:
from codeswarm.
Awesome. Yours is the first evidence that it works for someone else.
You can set the colors through the ColorAssigner, in the initColors() method.
It maps
a regular expression of the full file path to a linear color range (2 colors
specified in RGB space). My convention has been to map source code to hot
colors and
documents to cool colors.
There is no support for git yet. You can write it ;)
Original comment by [email protected]
on 20 Jun 2008 at 8:40
from codeswarm.
Hi there,
I'm just trying out the code_swarm stuff and, from what I can read here, I
should
choose to take snapshots and use ffmpeg to generate a video with the snapshots.
Is there a way to get the version of code_swarm.pde used by Carlos to make it
work? I
don't really get (at a first glance) how to add all the stuff from
http://processing.org/reference/libraries/video/MovieMaker.html in my
code_swarm.pde
and I'm sure it would save me a lot of time to just re-use Carlos' version.
I've added a new phpColors method (although I'm sure I'm going to have to
review the
colors once I actually get something working):
void phpColors()
{
colorAssigner.addRule( ".*/documentation/.*", color(150,255,255), color(170,255,255) );
colorAssigner.addRule( ".*/lib/.*", color(25,255,255), color(40,255,255) );
colorAssigner.addRule( ".*/lang/.*", color(65,255,255), color(80,255,255) );
colorAssigner.addRule( ".*\\.gif|.*\\.jpg|.*\\.png|.*\\.swf", color(120,255,255),
color(135,255,255) );
}
Thanks,
Yannick
Original comment by [email protected]
on 21 Jun 2008 at 3:54
from codeswarm.
Hey Yannick,
In the // User-defined variables section near the top of code_swarm.pde, you
should
see this line:
boolean takeSnapshots = false;
If you change this to true, the snapshots will be taken automatically
throughout the
main loop of the program and will be placed in a 'frames' folder in the same
directory as code_swarm.pde.
Original comment by [email protected]
on 21 Jun 2008 at 6:18
from codeswarm.
That's what I understood from the previous comments, but even setting it to
true was
giving me error messages (which I didn't read carefully, obviously) saying the
log.xml file couldn't be read.
So the idea is:
- when opening code_swarm.pde for the first time, the *processing* app puts the
pde
into a new directory "code_swarm/" and then you have to
- move all the .pde files, to the newly created code_swarm/
- move the particle.png to the newly created code_swarm/ as well
- create a data/ directory inside the newly created code_swarm/
- move the log.xml file inside the code_swarm/data/ directory (log.xml which you
generated using the "svn log --xml -v > log.xml" inside your repository)
- change takeSnapshots to "true" in code_swarm.pde
- change INPUT_FILE to "log.xml" in code_swarm.pde
- execute code_swarm.pde
This will create the code_swarm/frames/ directory and put the screenshots
inside it.
Each screenshot is about 30K and it is likely that one year of project will take
about 100MB on your hard drive.
Then I'm converting the images in frames/ to a video using:
mencoder mf://*.png -mf fps=25:type=png -ovc lavc -oac copy -o movie.avi
I think that sums it up. I also think that you guys should be very careful about
documentation. The documentation of a project is what makes it popular, not its
great
code or its efficiency :-)
But honestly, this is incredibly beautiful. It takes a long time to generate
but it
is a masterpiece of automatic art generation! I like it, very much. I'm not
sure it's
going to be of any "use", but in the arts perspective, it's just great. No,
really, I
mean it!
Yannick
Original comment by [email protected]
on 22 Jun 2008 at 2:20
from codeswarm.
And I reduce the size of my video by issuing something like this:
mencoder <filename.avi> -ovc xvid -oac mp3lame -xvidencopts bitrate=687 -o
<output.avi>
or that
mencoder <filename.avi> -ovc xvid -oac mp3lame -xvidencopts bitrate=-700000 -o
<output.avi>
(because 30MB for a video is a bit too much to show on a website)
but I'd be glad to know how you add a sound to that, and what was the technique
used
to add a legend at given important times... (is there a way to do that on the
command
line or did you use a video making tool, if so which one?)
Original comment by [email protected]
on 22 Jun 2008 at 2:39
from codeswarm.
The above complicated process was eliminated recently by renaming the prototype
dir
to code_swarm. Update your checkout and try it.
I agree about documentation. Let me know if you want to help us out.
To optimize videos for the web, you could use a better compression scheme like
h.264
and stream it from a site like Vimeo or YouTube. 30 MB isn't bad if you demand
crystal quality, though.
Original comment by [email protected]
on 22 Jun 2008 at 3:42
from codeswarm.
Thanks for the update on code. I'm willing to help out for the doc but I think
for
now the given "complicated" process is detailed enough to get a few examples
working
(if it works for me, it should work for most people, as I hate Java ;-))
Some good things would be to explain what the two colours are for in the color
rules
definitions (I suppose they represent a range of fading colours?). The rest
could
wait a little. I'm aiming at getting this stuff to work out of the box for very
simple samples, so together with your latest code changes, this would reduce the
problem to: change two constants, execute your svn logs gathering command,
execute
"processing" and convert the images to a video.
The quality of the video is not really important to me as long as you can read
the
names of the contributors, which is not satisfactory when I scale down the
video from
640x480 to 320x240... I will try h.264 (never tried that one before and didn't
know
it was best for web use).
How did you add the subtitles and sound to your example videos?
Original comment by [email protected]
on 22 Jun 2008 at 4:58
from codeswarm.
The video for the open-source dokeos project (e-learning system) is available
here:
http://www.dokeos.com/download/dokeos-activity.avi
Unless there is some kind of legal restriction to show the activity of my fellow
developers into this project through the video (I suppose there might be some
kind of
personal right there but it is highly unlikely anybody would complain), you can
use
it freely to demonstrate code_swarm.
Original comment by [email protected]
on 22 Jun 2008 at 6:25
from codeswarm.
Excellent. Please share it with the world and let them know we want people's
help on
this project.
I used Final Cut Express to edit my videos. You could do the same with iMovie or
Adobe Premiere, probably. Maybe even Windows Movie Maker if you're patient.
Original comment by [email protected]
on 22 Jun 2008 at 6:51
- Changed state: Verified
from codeswarm.
http://beeznest.wordpress.com/2008/06/21/viewing-the-activity-of-an-oss-in-video
/
Original comment by [email protected]
on 22 Jun 2008 at 5:17
from codeswarm.
How do I get access to create/modify wiki pages? Do you have to grant me that
or am I
just missing something?
Original comment by [email protected]
on 22 Jun 2008 at 6:00
from codeswarm.
You need to give me your Google account name or Gmail address. Then I can add
you to
the committers list.
Original comment by [email protected]
on 22 Jun 2008 at 6:12
from codeswarm.
There you go then: [email protected]. Please add me to the committers list.
Original comment by [email protected]
on 22 Jun 2008 at 7:39
from codeswarm.
> Please share it with the world
Menéame site like Digg (180 votes):
http://meneame.net/story/evolucion-del-codigo-meneame
My blog (I also want to make a how-to for more people to use your program):
http://charli.es/evolucion-de-proyectos-de-software-libre/
YouTube (+5000 views): http://www.youtube.com/watch?v=g2wrzd1mpkc
#5 - Most Discussed (Today) - Education - Spain
#17 - Most Viewed (Today) - Spain
#52 - Most Viewed (Today) - Education - Germany
#31 - Most Viewed (Today) - Education - Ireland
#8 - Most Viewed (Today) - Education
#1 - Most Viewed (Today) - Education - Spain
#4 - Most Viewed (Today) - Education - Mexico
#37 - Most Viewed (Today) - Education - France
#60 - Most Viewed (Today) - Education - Netherlands
#70 - Most Viewed (Today) - Education - Russia
:D
The problem is some comments (in Spanish) of some trolls :(
Original comment by [email protected]
on 22 Jun 2008 at 7:43
from codeswarm.
Related Issues (20)
- Refactor the code_swarm class to be more readable and maintainable
- run.sh does not work from /usr/local/bin or equivalent HOT 1
- significant dot-size variation when ran on desktop vs laptop (subpuxel rendering?)
- window expose events can cause code_swarm to hang sometimes
- Older CVS version uses different date format (convert_logs.py)
- Mercurial support HOT 4
- Subversion log entrys are not differentied for conversion.
- Processing Code HOT 1
- Hangs on Chaotic engine
- Histogram configuration and documentation HOT 1
- convert_logs.py - fails to convery SVN logs that contain square braces in the comments
- Allow commiter names to be translated
- Convert TFS Log
- Doesn't work for huge activity logs HOT 2
- Mercurial Log Generation - requirement 'dotencode' not supported! HOT 1
- hg_log.py doesn't work with OSX Lion HOT 3
- 3D support
- [Fatal Error] activity.xml:22858:78: Element type "event" must be followed by either attribute specifications, ">" or "/>". HOT 1
- Patch to allow svn xml log parsing
- Gravatars overlayed on non-blank backgrounds HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from codeswarm.