Header image

BEAUHINKS

  • Home
  • About
  • Projects

Subscribe to feed

Darwin Race

You are currently browsing the archive for the Darwin Race category.

DarwinRubyMon: Ugly Deploy

July 22, 2008 in Darwin Race, Programming | No comments

Don’t forget to VOTE!

Also, check out my other posts to the left concerning the development process using NetBeans.

Update:

The zip archive was quite large and took awhile to extract thanks to all of the doc files and random libraries included. I’m trying to trim it down to a more manageable size for all of you to enjoy. This includes a full installation of Ruby, associated libraries, my applications, and MySQL. There’s a lot to pack! The new archive below is roughly half the size. Here’s a quick shot of one of the folders bubbled up using the great tool, WinDirStat:

Downloads:

  • DarMonInstantRails.zip

Ruby System Monitoring:

Well this is my best bet at the moment for having a completed project.

Attached to this post I will include a zip file with everything you should need to get started. This includes Ruby, RoR, ImageMagick, and an abundance of other bits.

Here’s how to make this all work:

  1. Download the attached Zip file (DarMonInstantRails.zip) and extract somewhere on your hard-drive. It should come out as “X:\PathYouMade\InstantRails\”. I apologize for the size of the archive. Again, this is the only way I know how to easily make this work.
  2. Navigate to the directory you just extracted to in InstantRails and run the ImageMagick installer:
  3. Pick an installation path and accept the rest of the defaults for ImageMagick.
  4. Launch the InstantRails Application:

  5. You might get some errors. Ignore them! I stripped out Apache because we don’t need it in this case.

  6. You should get something like below. Make sure that MySQL is Started. If not click the MySQL button and click start.
  7. Click the “I” button in the top left corner and goto RailsApplications->Open Ruby Console Window. Do this 3 times so that we can launch the Agent, TractorBeam, and Interpol.
  8. NOTE: In the root of the rails_apps directory there is an Agents.zip. This contains the Ruby script necessary on any of the computers you wish to monitor. If they have Ruby Installed, the script will run.
  9. Change directories in the three console windows to “Interpol”, “Agents”, and “TractorBeam”.
  10. Launch an Agent:
  11. Launch Interpol from the Interpol directory by typing: “ruby script/server –port=3000″. If you’re successful you should see this:
  12. Open a browser and navigate to “http://127.0.0.1:3000″:
  13. Make sure at least 127.0.0.1 is added and your “Agent” from above is running.
  14. Bring up your other unused Ruby console and change directory to TractorBeam. Then type: “ruby script/server –port=3001″ Take care with the port number!
  15. Once TractorBeam is running navigate in a browser to: “127.0.0.1:3001″ and click on Sample Administration:
  16. Click “Run Tests” and let it roll. It will begin to poll any IP’s you have added. If you get an error then the Agent probably is not running on the given address.
  17. Go back to 127.0.0.1:3000 and click “View CPU Load Graph”. If all is well you should be presented with something similar to this:
  18. As you bring up more Agents on your network and add their IP Addresses by click “Add/Remove CPU to Monitor,” they will be added to the graph with their respective loads and times. The graph isn’t pretty right now… and after awhile it gets cluttered. C’est la vie for now.
  19. That’s it. Shoot me an e-mail or post a comment here if you have troubles.

Darwin: Not Quite Fin

July 22, 2008 in Darwin Race, Programming | No comments

Well it is 2:40 AM my time on July 22nd and I am not where I would like to be in the project.

However, I do have something to show and will try to package some semblance of a useful application. Truthfully, this is a piece of junk. It collects CPU load and displays a graph for each particular IP entered into the database. Not to mention NONE of the http exchanges are secured and that you have to rely on HTTP in the first place.

As 3AM draws closer, I tell myself, “This is a learning experience,” as I said in my opening posts. Sometimes software development is frustrating, especially in a new language and development environment. NetBeans is loaded with lots of modern features and a clean interface that the developers at Delphi could pick up a few things from NetBeans and incorporate them.

That’s not to say that Delphi isn’t one of my favorite IDE’s. I use it very regularly, especially with IntraWeb for a few applications. One area that I particularly loved in NetBeans was find/search.  The results of your searches are presented in a more logical manner than the standard Delphi dialogs and they behave in a manner that is familiar.

NetBeans did not start out with Ruby support, yet it functions as a wonderful platform for coding, testing, and learning Ruby or Ruby on Rails. The 6.1 version loads quickly and does not consume gobs of memory like its other Java relatives.  I wish I could have tried CodeGears 3rdRail to compare the feel to Delphi. Any experiences with this?

Darwin RubyMonitor

The project consists of three parts.

  • Agents - these are simple HTTP servers running on port 2000. They respond with YAML containing the CPU load, frequency, and quantity.
  • TractorBeam - You would have one of these running on your network. All it does is sit and run through a loop every few seconds to poll “agents” you have added to your database for their average CPU load.
  • Interpol - The front RoR application that simply renders a graphic right now with the statistics collected from TractorBeam.

I’ll give you all a little tour via screencast below.

There you have it. Here’s the graph after a few minutes displaying average CPU load:

Things I would change:

  • The “Agents” should use a Restful API to communicate with “TractorBeam” instead of the other way around. This would allow one collection server to be running, and clients to connect on the fly. Ideally, you could use existing performance statistics available from the operating system and would not need any clients. Much easier for a sysadmin.
  • The userinterface is awful.
  • More testing. I have not run any unit tests on this. Use at your own risk–I don’t recall writing any code that formats drives, but it could happen by rookie mistake. :)
  • Write the application in Ruby/Netbeans and Delphi/Intraweb. I think if I had used Intraweb I could’ve had a pretty slick application using NexusDB as the backend. However, I did like the productivity increase of Rails over the Intraweb GUI designer.
  • Temperature. This one drove me nuts. Accessing temperature sensors from Ruby in Windows seemed to be on the same level of difficulty as traveling faster than the speed of light.

All in all I thought it came out pretty well given my ability (or lack thereof!). Now to try and submit to the contest… I hope I can!

Edit: I’ve tried and have come to learn that SQLite3 does not support one of the functions I use. I’m not sure what time the deadline officially is, but I’d like to get it finished before so you all can play with it and maybe I’ll win! :) We shall see…

Cheers,

Steve

« Older entries


Twitter Darwin


follow beauhinks at http://twitter.com

Pages

  • About
  • BubbleBlow
  • Projects

Categories

  • Beauhinks
  • Books
  • Darwin Race
  • physics
  • Programming
  • School
  • Science
  • Technology
  • Travel
  • Uncategorized

Archives

  • August 2008 (1)
  • July 2008 (14)
  • May 2008 (4)
  • April 2008 (4)
  • March 2008 (4)
  • February 2008 (4)

What I'm Reading

  • Build your own Fusion Reactor [pdf] (Hacker News)
  • How Our Culture Keeps Students Out of Science (Hacker News)
  • Basic Physics in ATLAS (Life as a Physicist)
  • Code Free or Die(): Why Hackers Are so Often Libertarians (Hacker News)
  • Kayaks You Can Build (Cool Tools)
Shared Items

Blogroll

  • 10x Software Development
  • Blogs.codegear.com Master Site Feed
  • Cool Tools
  • Lifehacker
  • MAKE Magazine
  • PhysOrg.com
  • Slashdot

my flickr stream

2008-08-01_0028
ireland 281
ireland 286
ireland 269
ireland 287
ireland 285

Coffee drinking machine/student interested in programming, physics, and mathematics.

Recent Articles

  • July Recap: DBP, Darwin, Robots.. Oh my.

    August 1, 2008 in Programming, School

    Didn’t win in the Darwin Race of Languages… that wasn’t a big shock! Ah well congratulations to the individuals that did, some of the submissions were really well done and significantly easier to install than…

  • DarwinRubyMon: Ugly Deploy

    July 22, 2008 in Darwin Race, Programming

    Don’t forget to VOTE!

    Also, check out my other posts to the left concerning the development process using NetBeans.
    Update:
    The zip archive was quite large and took awhile to extract thanks to all of the doc…

  • Darwin: Not Quite Fin

    July 22, 2008 in Darwin Race, Programming

    Well it is 2:40 AM my time on July 22nd and I am not where I would like to be in the project.

    However, I do have something to show and will try to package some…

  • Darwin: Basic Dynamic Graphs

    July 22, 2008 in Darwin Race, Programming

    After pulling a little hair out due to problems with environment variables, my application is capable of drawing a line:

    Again, many libraries are helping me out here. They’re all well documented and…

  • Darwin: Urgency is a good motivator

    July 22, 2008 in Darwin Race, Programming

    I was fed up with RubyStack, so I decided to go from scratch and build up the development environment. Potentially this will allow me to deploy the apps in a single (large) zip file that…

Subscribe to feed

Powered by WordPress and Tarski