Categorize all of BRL-CAD's commands into a spreadsheetBRL-CAD
Status: ClosedTime to complete: 72 hrs Mentors: SeanTags: spreadsheet, categorize

BRL-CAD is a suite of more than 400 processing tools, image tools, geometry converters, and more. There is an existing spreadsheet that characterizes all of the available commands in terms of inputs, outputs, and options, but there is insufficient characterization of BRL-CAD's commands as to how they logically group and work together.

This task involves building up a spreadsheet that lists all of our commands, describing a finite set of command categories, and characterizing all commands into those categories while filling in the spreadsheet with details for each command.

References:

  • A spreadsheet template will be provided.
Uploaded Work
File name/URLFile sizeDate submitted
brlcad.xlsx20.7 KBDecember 14 2012 12:44 UTC
brlcad.xlsx34.5 KBDecember 15 2012 18:55 UTC
brlcad.xlsx34.8 KBDecember 15 2012 19:56 UTC
brlcad.xlsx34.8 KBDecember 16 2012 05:11 UTC
brlcad.xlsx34.8 KBDecember 16 2012 16:22 UTC
Comments
Tonyon December 1 2012 06:47 UTCTask Claimed

I would like to work on this task.

Tonyon December 1 2012 06:51 UTCClaim Removed

The claim on this task has been removed, someone else can claim it now.

Kristapson December 10 2012 20:34 UTCTask Claimed

I would like to work on this task.

Sean on December 11 2012 01:14 UTCTask Assigned

This task has been assigned to Kristaps. You have 72 hours to complete this task, good luck!

Sean on December 11 2012 01:17 UTCstarting simple

So let's start with a simple spreadsheet, just two columns: file and category.  You're going to itemize every file installed into our 'bin' directory (like you started in your spreadsheet).  For each of those files, categorize it.


It should be possible to characterize nearly all of the commands into a set of useful independent categories.  Here are some examples:


The first one I find is "3dm-g", that's easily identified as a "geometry converter" and that's the category you mark.


Second one is "a-d".  Maybe you don't know what that is but you run it, you see the usage statement and understand that it converts ascii strings to numbers.  So you make a "data conversion" category.  Later you might need to redefine that category, but for now it works.


Third is "alias-pix", and we see in the manpage (brlman alias-pix) that it converts an image, so we create a new "image conversion" category.


And so on ...


Now WAIT .. that's not all.  You don't want to end up with too many commands in any category.  I think around 30 is probably a reasonable limit for any single category.


With that limit, you'll quickly discover that "geometry converter" was too vague and there are too many (42).  So you need to go back and recategorize them as "geometry importer" and "geometry exporter" instead.


Make sense? So when you're done, you'll have a spreadsheet with all the commands listed and categorized into useful categories.  Easy enough to understand?

Kristapson December 13 2012 19:58 UTCClaim Removed

The claim on this task has been removed, someone else can claim it now.

Sushain Cheriviralaon December 14 2012 00:20 UTCExisting spreadsheet?

Where is the "existing spreadsheet that characterizes all of the available commands in terms of inputs, outputs, and options"? I can't find it.

Sean on December 14 2012 01:17 UTCread the comment history

Read the comment history for backstory.

Sushain Cheriviralaon December 14 2012 02:08 UTCI have read it?

I've read the comment history and I understand what you're asking for. I just can't find any existing documentation on what each command actually does, i.e. inputs, outputs, params. (maybe the intent of the task includes finding out what each command does??)

Sean on December 14 2012 02:38 UTCoriginal task

Well the original task was to define the inputs, outputs, and params because that information isn't all available in one place.  That, however, is way too much work for a single GCI task.  That's why the new goal is to just categorize them, which requires (quickly) figuring out what each command does.


There's about 400 commands total.  90% of those will give you a simple usage statement or help message when you run them without any options or with a -? or -h option.  Half or two-thirds have a detailed manual page (e.g., run brlman rt).


Once you figure out what a few of the commands do, you quickly learn what a 100 others do because they're all designed in a similar fashion.  So you'll quickly be able to infer what a command does.  For example, you might read in the bw-pix manual page that it's an image converter that converts .bw format images to .pix format images.  When you later see pix-png, it should be pretty obvious that it converts a .pix format image to a .png format image without even looking at the docs.  A quick 5-sec scan of its manual page confirms the guess.


Both of those would probably be categorized as an "image_converter" initially at least until you encountered 30+ of them.  It's also okay to put a single tool into multiple categories.

Sushain Cheriviralaon December 14 2012 02:43 UTCoh, okay

Oh, I understand now. If this isn't claimed by the weekend I think I'll try it.

Sushain Cheriviralaon December 14 2012 12:33 UTCTask Claimed

I would like to work on this task.

Daniel Rossberg on December 14 2012 12:43 UTCTask Assigned

This task has been assigned to Sushain Cherivirala. You have 72 hours to complete this task, good luck!

Sushain Cheriviralaon December 14 2012 12:45 UTCis this okay?

I have submitted what I have so far. Please advise as to whether I'm on the right direction.

Daniel Rossberg on December 14 2012 13:58 UTCIf you think you are done

and we should do the review mark the task as completed.

Sean on December 14 2012 14:27 UTCLooking good

Sushain, that's looking spot on (good) so far.  I like how you are distinguishing between input and outputs too.  Just 375 more to go. ;)

Sushain Cheriviralaon December 15 2012 18:55 UTCwhat I have so far

I have uploaded what I have so far. Please advise. It's not yet quite complete (I would estimate 3/4 done). Column J lists each tag and its #of occurences (it will likely be quite useful to understand the "subtags") - its coded in so it may not work if not using excel (I'll make it plaintext after I'm done?). Also, I freezed the first 3 columns (command, location, description) to make navigation through tags easier - I hope the freeze works with whatever program you open the file with (a freeze wouldn't be needed if you had a highres or longer screen than me?). I'm fairly confused about the rt commands, can't find alot of the source files but I see them in my bin file as .exe's (perhaps I should download a linux ver and use its bin instead?):( I think I'm misunderstanding something. I did the spreadsheet as tags instead of categories because it ended up feeling more appropriate since commands tended to span multiple categories. Finally, I'm not familiar with all the terms used so I might be misunderstanding something there. Thanks! I really appreciate any help.

Sushain Cheriviralaon December 15 2012 19:55 UTCslight changes

added utility geometry tags - ver3

Sushain Cheriviralaon December 16 2012 05:10 UTCmarking as complete

I am marking the task as complete so that it can be reviewed. I know that it still needs some work.

Sushain Cheriviralaon December 16 2012 05:10 UTCReady for review

The work on this task is ready to be reviewed.

Sean on December 16 2012 05:40 UTCno problem

No problem reading the table in Excel.  So you're still on the right track but some of the tags may need cleanup.  For example, you find a lot of converters, but there are geometry (3D) and image (2D) converters.


Note "convertion" is spelled wrong.  Conversion.


Given the level of work involved, we may need to break this up into multiple tasks.  Perhaps a separate task is to identify all the categories, so you can get proper credit.

Sean on December 16 2012 05:40 UTCTask Needs More Work

One of the mentors has sent this task back for more work. Talk to the mentor(s) assigned to this task to satisfy the requirements needed to complete this task, submit your work again and mark the task as complete once you re-submit your work.

Sushain Cheriviralaon December 16 2012 16:28 UTCchanges

I've tried to go through and fill in some of the holes. Also, I fixed that spelling. Oops, I guess I got so used to typing convert that convertion just started to come naturally.


Anyways, I tried to split the fileConvertion tag into 3DConvertion 2DConvertion but I just quit eventually because I wasn't sure which commands dealt with 3D and which dealt with 2D. Is there somewhere I can learn about the various file types?


Also, I'm still confused about the rt commands, hence A LOT of holes in that section. Most everything else is filled. I want to finish this up but I have all my finals this week. So... I'm not sure how much time I'll have to work on non-academic things :(

Sushain Cheriviralaon December 16 2012 19:42 UTCReady for review

The work on this task is ready to be reviewed.

Sean on December 17 2012 05:37 UTCof course

Of course, the Internet!  You can learn about the various file types all over the web. :)


Still, you've put in reasonable effort and this may be a starting point so I'm going to close out the task.  I'm not sure if we can use it in its current form given so many uncertainties, holes, and several innaccuracies, but we may create a follow-on task for someone to pick up where you left off.  For you, I suggest trying to take on another task (perhaps one of the documentation tasks, now that you've spent so much time looking at documentation).


 

Sean on December 17 2012 05:37 UTCTask Closed

Congratulations, this task has been completed successfully.

Sushain Cheriviralaon December 17 2012 12:40 UTCThanks!

thanks! Maybe I will (after finals) :)

Sean on January 14 2013 14:43 UTCthank you!

As GCI comes to a close, we wanted to take the time to say THANK YOU for all your efforts.  This comment interface closes after GCI is over, so you're encouraged to join our mailing list where we'll be announcing contributions from GCI participants like yourelf over the upcoming months: 


https://lists.sourceforge.net/lists/listinfo/brlcad-news


If you've provided your full name, we'll be sure to credit you in our authorship documentation and you'll see your name in a future announcement.  If you contact us at devs@brlcad.org or via IRC, we'll even let you know when your work is integrated and follow up with updates.  You're welcome and encouraged to contact us any time, especially if you have a question about how to continue participating in Open Source after GCI is over, but even if just to keep in touch.  Take care, be well, and thank you again!