# Officeofgreatideas.com

**URL:** <https://www.ruby-forum.com/t/officeofgreatideas-com/48232>\
**Category:** Ruby\
**Created:** [November 18, 2005, 1:01am UTC](https://www.ruby-forum.com/t/officeofgreatideas-com/48232 "2005-11-18T01:01:12Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![michael.schwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7993a0/32.png) [@michael.schwab](https://www.ruby-forum.com/u/michael.schwab)\
**Post date:** [November 18, 2005, 1:01am UTC](https://www.ruby-forum.com/t/officeofgreatideas-com/48232/1 "2005-11-18T01:01:12Z")

</div>

Good evening,

I am thrilled to announce the launch of my website  
[http://www.officeofgreatideas.com](http://www.officeofgreatideas.com) . I do hope that some of you will  
find time to scope it out and submit a few ideas (I welcome  
computing-related ideas and knowledge, but please also consider  
submitting political ideas, and the empirical info that qualifies  
them!).

The site is a simple front end for a database - the goal is to store  
and organize information in ways that will allow people to make  
structured arguments with a minimum of redundancy. To this end, I have  
created eight different types of data, each with a couple unique  
properties, so that users can use the most appropriate tools when they  
attempt to convince someone of something.

Basic instructions - first create an account. The ‘create’ link at  
left allows you to submit data (text, hyperlinks, what have you).  
After submission, confirmations show up with a link that says ‘draw’ -  
click this to add the entry to your drawing board. When you click  
‘save’, all the items on your drawing board are associated with each  
other.

Example - You are reading a book and discover something interesting.  
Paraphrase it and submit it as an argument. Then create the author and  
the book, and put all three on the drawing board, and save. Now,  
whenever someone views that argument, they will see that it is related  
to that book and author, and vice versa.

I plan to update the documentation that is available on the site later  
tonight. For now, there is already somewhat detailed info up there (if  
a bit dry). There is, however, an as-yet undocumented feature which I  
will explain here for those who wish to read on.

In addition to a drawing board, each user has a clipboard. This is for  
wrapping ‘old’ information into your ‘new’ ideas without explicitly  
associating your new ideas with the existing ‘old’ stuff. Items on the  
clipboard are not associated en masse like items on the drawing board  
are; rather they are associated only with the items on the drawing  
board that are of the same type as them. So, arguments on the  
clipboard are associated with arguments on the drawing board, and not  
with books on the drawing board. Specifically:  
a book on the drawing board will gain a footnote for each book on the  
clipboard (suggesting that the clipboard books were cited in the  
drawing board ones)  
a category on the drawing board will become a subcategory of each  
category on the clipboard  
a list on the clipboard will be added to a list on the drawing board  
a message on the clipboard will be referenced by a message on the  
drawing board  
an argument on the drawing board will ‘cite’ each argument on the  
clipboard  
these relationships are dealt with in this way because they are not  
symmetric. (author-author and hyperlink-hyperlink relationships,  
conversely, are symmetric so they cannot be put on the clipboard)

I hope this is not confusing; I used the words clipboard and drawing  
board to remind the user that the clipboard is for old things that need  
not be changed, and the drawing board for new ideas that rely on those  
old ones. Hopefully this will not be lost on my users.

As this is an open source project, my source may be downloaded from  
[http://www.officeofgreatideas.com/app/](http://www.officeofgreatideas.com/app/)  
I could use a few suggestions [one pressing issue is a bug in the  
create controller that fails to store files that I attempt to upload].

Please feel free to publicize this site to other communities. My need  
for a fast take-off is more pressing at this point than my need for a  
semi-private test period.

-Mike

---

<div class="post-metadata">

**Author:** ![michael.schwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7993a0/32.png) [@michael.schwab](https://www.ruby-forum.com/u/michael.schwab)\
**Post date:** [November 18, 2005, 1:07am UTC](https://www.ruby-forum.com/t/officeofgreatideas-com/48232/2 "2005-11-18T01:07:14Z")

</div>

Interesting site/idea and all but ruby related?..

Whats the net comming to when someone with a yale email address  
commits spammery?

---

<div class="post-metadata">

**Author:** ![michael.schwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7993a0/32.png) [@michael.schwab](https://www.ruby-forum.com/u/michael.schwab)\
**Post date:** [November 18, 2005, 1:13am UTC](https://www.ruby-forum.com/t/officeofgreatideas-com/48232/3 "2005-11-18T01:13:20Z")

</div>

On 11/17/05, Lyndon S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Interesting site/idea and all but ruby related?..
> 
> Whats the net comming to when someone with a yale email address  
> commits spammery?

Mike forgot to mention that this is a Ruby on Rails application which  
has the full source available.

He demoed it at the first meeting of new\_haven.rb this month, and it  
was quite interesting, if a bit in need of continued development.

We might even be hacking on it a bit more in coming new\_haven.rb  
mentions.

Shame on mike for not pointing out the interesting RoR code that lies  
beneath! 🙂

[http://www.officeofgreatideas.com/app/](http://www.officeofgreatideas.com/app/)

This is the source. Hopefully he’ll get it onto a SVN repos soon.

---

<div class="post-metadata">

**Author:** ![michael.schwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7993a0/32.png) [@michael.schwab](https://www.ruby-forum.com/u/michael.schwab)\
**Post date:** [November 18, 2005, 2:43am UTC](https://www.ruby-forum.com/t/officeofgreatideas-com/48232/4 "2005-11-18T02:43:41Z")

</div>

In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
removed\_email\_address@domain.invalid says…

> The site is a simple front end for a database - the goal is to store  
> and organize information in ways that will allow people to make  
> structured arguments with a minimum of redundancy.

Interesting! Have you thought about ways to structure counterarguments,  
subarguments, debatable points, conclusions, etc.? Maybe a way for  
readers to “rate” arguments as fallaci… fall… as containing a  
fallacy?

I remember doing some net-research on this a few months ago, and  
discovered that there was a whole field of structured debate research,  
but that the software involved was heavy, crufty, and too complex for  
people to actually use to debate topics.

---

<div class="post-metadata">

**Author:** ![michael.schwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7993a0/32.png) [@michael.schwab](https://www.ruby-forum.com/u/michael.schwab)\
**Post date:** [November 18, 2005, 8:53pm UTC](https://www.ruby-forum.com/t/officeofgreatideas-com/48232/5 "2005-11-18T20:53:56Z")

</div>

I have spent a fair amount of time pondering my structural approach for  
contradiction, iff, translation, etc. My current plan is to add a  
table that stores the two args and an int for the type of relationship  
between them. But perhaps a good look some of this structured debate  
research would be a smart plan. Did you notice any algorithms or data  
structures that stood out as insightful? I think simplicity is  
probably quite important in a system designed to scale very large and  
‘judge’ things with a subtle touch.

-Mike

---

<div class="post-metadata">

**Author:** ![michael.schwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7993a0/32.png) [@michael.schwab](https://www.ruby-forum.com/u/michael.schwab)\
**Post date:** [November 18, 2005, 1:16am UTC](https://www.ruby-forum.com/t/officeofgreatideas-com/48232/6 "2005-11-18T01:16:21Z")

</div>

On 11/17/05, Gregory B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> We might even be hacking on it a bit more in coming new\_haven.rb mentions.

not sure if I meant meetings or functions, but I didn’t mean mentions.

By the way… there is more information about the core of this  
application here:  
[http://newhavenrubyists.org:2500/mainpage/show/KnowledgeWeb](http://newhavenrubyists.org:2500/mainpage/show/KnowledgeWeb)

---

<div class="post-metadata">

**Author:** ![michael.schwab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/7993a0/32.png) [@michael.schwab](https://www.ruby-forum.com/u/michael.schwab)\
**Post date:** [November 19, 2005, 12:58am UTC](https://www.ruby-forum.com/t/officeofgreatideas-com/48232/7 "2005-11-19T00:58:47Z")

</div>

On Sat, 2005-11-19 at 04:51 +0900, Mike S. wrote:

> I have spent a fair amount of time pondering my structural approach for  
> contradiction, iff, translation, etc. My current plan is to add a  
> table that stores the two args and an int for the type of relationship  
> between them. But perhaps a good look some of this structured debate  
> research would be a smart plan. Did you notice any algorithms or data  
> structures that stood out as insightful? I think simplicity is  
> probably quite important in a system designed to scale very large and  
> ‘judge’ things with a subtle touch.

Just so you’re not disappointed later on, be aware that propositional  
logic has been shown to have serious limitations.

Now, just because it’s seriously deficient doesn’t mean it isn’t still  
useful (the perfect being the enemy of the good…), but there are  
definitely limitations to what you can do.

You’ll see similar issues raised concerning the Semantic Web in general  
(by the way, you really should be looking at the RDF data model for what  
you’re doing).

-mental
