[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

graphing/plotting with python and interface builder

Jacob Davis

2/23/2008 4:09:00 AM

Hi.

I am developing for mac and using Xcode and Interface Builder 3.0. I
can make a simple application, but I am having a hard time trying to
figure out a good way to create a graph or plot for a class project.

Does anybody have any tips on where to get started, or on how to do
this?

I have searched far for several days now, but I don't know if I am on
the right track. Any help is much appreciated.

Thanks,

Jake
7 Answers

Peter Wang

2/23/2008 6:31:00 AM

0

On Feb 22, 10:08 pm, Jacob Davis <j.foster.da...@gmail.com> wrote:
> Hi.
>
> I am developing for mac and using Xcode and Interface Builder 3.0. I
> can make a simple application, but I am having a hard time trying to
> figure out a good way to create a graph orplotfor a class project.
>
> Does anybody have any tips on where to get started, or on how to do
> this?
>
> I have searched far for several days now, but I don't know if I am on
> the right track. Any help is much appreciated.
>
> Thanks,
> Jake


Jake, are you using any python-specific GUI libraries like wxPython,
Qt, or Tk? The Chaco plotting toolkit (http://code.enth...
chaco) supports several different mechanisms for rendering on OS X;
the default is to render via Quartz, but this requires wx or Qt. I am
also currently working on a (somewhat experimental) pure OpenGL
backend, which doesn't require wxPython or Qt, just an active OpenGL
context.

Do you want to generate a fairly static plot, or do you want the user
to be able to interact with it in some way?


-Peter

Diez B. Roggisch

2/23/2008 1:54:00 PM

0

Jacob Davis schrieb:
> Hi.
>
> I am developing for mac and using Xcode and Interface Builder 3.0. I
> can make a simple application, but I am having a hard time trying to
> figure out a good way to create a graph or plot for a class project.
>
> Does anybody have any tips on where to get started, or on how to do this?
>
> I have searched far for several days now, but I don't know if I am on
> the right track. Any help is much appreciated.

I use

http://developer.snowmintcs.com/frameworks/sm2dgraphview/...


under 10.4. I don't see why it shouldn't work under 10.5. I assume you
use pyobjc? I had to use the signature-decorator to make the
SM2DGraphDataSource-category work - but I'm not sure if pyobjc 2.0
changes anything in that respect.


Diez

Jacob Davis

2/23/2008 6:38:00 PM

0

Thanks for the reply.

I have wxPython installed and have used it. with wx I have just been
using the wx.lib.plot module and the graphing is fine (although in
other posts I note some focus issues).

I have been looking at moving to using interface builder 3.0 and
building Cocoa apps because for a bigger project it might be faster
and better code.

I only want to make plots that show data... but I need to refresh the
plot at every step. with wx.lib.plot, i just draw it again
(performance is not too big of an issue). No user interaction is
needed.

I will check out Chaco. Like I said, I know how to use wx.lib.plot,
so if there is a way that I can use the graphs created there that
would be great... although I suspect that wx.lib.plot requires a frame
as a parent, which I would not want to use since .nib files (from
interface builder) would handle the gui side with PyObjC (a language
which I don't know).

Thanks

Jake

On Feb 22, 2008, at 10:30 PM, Peter Wang wrote:

> On Feb 22, 10:08 pm, Jacob Davis <j.foster.da...@gmail.com> wrote:
>> Hi.
>>
>> I am developing for mac and using Xcode and Interface Builder 3.0. I
>> can make a simple application, but I am having a hard time trying to
>> figure out a good way to create a graph orplotfor a class project.
>>
>> Does anybody have any tips on where to get started, or on how to do
>> this?
>>
>> I have searched far for several days now, but I don't know if I am on
>> the right track. Any help is much appreciated.
>>
>> Thanks,
>> Jake
>
>
> Jake, are you using any python-specific GUI libraries like wxPython,
> Qt, or Tk? The Chaco plotting toolkit (http://code.enth...
> chaco) supports several different mechanisms for rendering on OS X;
> the default is to render via Quartz, but this requires wx or Qt. I am
> also currently working on a (somewhat experimental) pure OpenGL
> backend, which doesn't require wxPython or Qt, just an active OpenGL
> context.
>
> Do you want to generate a fairly static plot, or do you want the user
> to be able to interact with it in some way?
>
>
> -Peter
> --
> http://mail.python.org/mailman/listinfo/p...

Jacob Davis

2/23/2008 9:12:00 PM

0

I found SM2DGraphView, but I guess that I am too much of a newbie with
interface builder and pyobjc to figure out how to get SM2DGraphView to
work. Are there any good tutorials (or better yet, examples) of how
to get SM2DGraphView to work?

I don't know pyobjc well at all.

Thanks

Jake


On Feb 23, 2008, at 5:54 AM, Diez B. Roggisch wrote:

> Jacob Davis schrieb:
>> Hi.
>>
>> I am developing for mac and using Xcode and Interface Builder 3.0. I
>> can make a simple application, but I am having a hard time trying to
>> figure out a good way to create a graph or plot for a class project.
>>
>> Does anybody have any tips on where to get started, or on how to do
>> this?
>>
>> I have searched far for several days now, but I don't know if I am on
>> the right track. Any help is much appreciated.
>
> I use
>
> http://developer.snowmintcs.com/frameworks/sm2dgraphview/...
>
>
> under 10.4. I don't see why it shouldn't work under 10.5. I assume you
> use pyobjc? I had to use the signature-decorator to make the
> SM2DGraphDataSource-category work - but I'm not sure if pyobjc 2.0
> changes anything in that respect.
>
>
> Diez
> --
> http://mail.python.org/mailman/listinfo/p...

Diez B. Roggisch

2/24/2008 12:31:00 PM

0

Jacob Davis schrieb:
> I found SM2DGraphView, but I guess that I am too much of a newbie with
> interface builder and pyobjc to figure out how to get SM2DGraphView to
> work. Are there any good tutorials (or better yet, examples) of how to
> get SM2DGraphView to work?
>
> I don't know pyobjc well at all.

There isn't much to it. Unfortunately, there aren't many good tutorials,
but at least a few examples in the pyobjc repository.

below is my code for implementing the SM2DGraphDataSource category. It
is of course interspersed with my application-logic, but should give you
a start.

Additionally, you need to load the SM2DGraphView-framework. The code to
do so is also below.

Diez

#
# BCGraphViewController.py
# BruceControl
#
# Created by Diez Roggisch on 22.02.08.
# Copyright (c) 2008 __MyCompanyName__. All rights reserved.
#

from Foundation import *
from AppKit import *
import sys
from PyObjCTools import NibClassBuilder
import objc
MODES = "displaySpeed", "displayPosition"

kSM2DGraph_Axis_Y = 0
kSM2DGraph_Axis_X = 1

kSM2DGraph_Axis_Y_Right = 2
kSM2DGraph_Axis_Y_Left = kSM2DGraph_Axis_Y

class BCGraphViewController(NibClassBuilder.AutoBaseClass):

_displayPosition = False
_displaySpeed = False


def displayPosition(self):
return self._displayPosition

def setDisplayPosition_(self, v):
self._displayPosition= v
self.reloadData()


def displaySpeed(self):
return self._displaySpeed

def setDisplaySpeed_(self, v):
self._displaySpeed= v
self.reloadData()


def awakeFromNib(self):
self._displayed_mis = []
self._ts_min = 0.0
self._ts_max = 0.0
self.graphView.setDataSource_(self)

def setMotorInfos_(self, motor_infos):
self._motor_infos = motor_infos
# apparently, it's enough to just
# subscribe once
motor_infos[0].subscribeDisplayChanged(self)

def setConnector_(self, connector):
self._connector = connector
connector.subscribeStateListener(self)

def stateArrived_(self, n):
state = n.object()
ts = float(state.timestamp) / 1000000000.0 # nano to seconds
if self._ts_min == 0:
self._ts_min = ts
self._ts_max = ts

def reloadData(self):
if self.numberOfLinesInTwoDGraphView_(None):
self.graphView.reloadData()
self.graphView.reloadAttributes()

def displayChanged_(self, n):
motor_info = n.object()
motor_id = motor_info.motor_id
if motor_info.display() and motor_info not in self._displayed_mis:
self._displayed_mis.append(motor_info)
else:
try:
self._displayed_mis.remove(motor_info)
except ValueError:
pass
self.reloadData()

@property
def active_modes(self):
return [mode for mode in MODES if getattr(self, mode)()]

@property
def activated_views(self):
return len(self.active_modes)

@objc.signature('I@:@')
def numberOfLinesInTwoDGraphView_(self, view):
res = len(self._displayed_mis) * self.activated_views
return res

@objc.signature('@@:@I')
def twoDGraphView_dataForLineIndex_(self, view, lineIndex):
av = self.activated_views
# first, compute the mi to be used
offset = lineIndex // av
mi = self._motor_infos[offset]
mode = self.active_modes[lineIndex % av]
return mi[mode]

@objc.signature('d@:@Ii')
def twoDGraphView_maximumValueForLineIndex_forAxis_(self, view,
lineIndex, axis):
if not self.numberOfLinesInTwoDGraphView_(view):
return .0
av = self.activated_views
mode = self.active_modes[lineIndex % av]
if axis == kSM2DGraph_Axis_Y:
maxs = [mi.max[mode] for mi in self._displayed_mis]
return max(maxs)
elif axis == kSM2DGraph_Axis_X:
return float(self._ts_max)
return .0

@objc.signature('d@:@Ii')
def twoDGraphView_minimumValueForLineIndex_forAxis_(self, view,
lineIndex, axis):
if not self.numberOfLinesInTwoDGraphView_(view):
return .0
av = self.activated_views
mode = self.active_modes[lineIndex % av]
if axis == kSM2DGraph_Axis_Y:
mins = [mi.min[mode] for mi in self._displayed_mis]
return min(mins)
elif axis == kSM2DGraph_Axis_X:
return float(self._ts_min)
return .0

@objc.signature('@@:@I')
def twoDGraphView_attributesForLineIndex_(self, view, lineIndex):
try:
if not self.numberOfLinesInTwoDGraphView_(None):
return None
av = self.activated_views
# first, compute the mi to be used
offset = lineIndex // av
mi = self._motor_infos[offset]
res = {NSForegroundColorAttributeName : mi.color}
except:
print sys.exc_info()[1]
return None
return res


def crop_(self, sender):
self._ts_min = self._ts_max
for mi in self._motor_infos:
mi._set_min_max_defaults()




import objc, AppKit, Foundation, os
import logging, sys
from ctypes.util import find_library

logger = logging.getLogger('bundles')

frameworks = set(("SM2DGraphView",))
loaded = set()

loading_exceptions = []

for framework in frameworks:
logger.debug('Trying to load framework <%s>', framework)
bundle_path = find_library(framework)
bundle_path = bundle_path[:bundle_path.index('framework')] +
"framework"
logger.debug('from path <%s>', bundle_path)
try:
objc.loadBundle(framework, globals(), bundle_path=bundle_path)
loaded.add(framework)
continue
except:
loading_exceptions.append(sys.exc_info()[1])
pass

if loaded != frameworks and loading_exceptions:
logger.error("Got exceptions loading frameworks")
for e in loading_exceptions:
logger.error(e)
raise loading_exceptions[0]

del objc, AppKit, Foundation, os, bundle_path

TRMatt

1/31/2012 1:58:00 AM

0

On Tue, 31 Jan 2012 01:34:49 +0000 (UTC), 2875 Dead <dead@gone.com>
wrote:

>On Mon, 30 Jan 2012 16:19:40 -0800, MattB wrote:
>
>> On Mon, 30 Jan 2012 15:08:02 -0800, 2875 Dead <dead@dead.net> wrote:
>>
>>>On Mon, 30 Jan 2012 13:16:03 -0800, MattB <trdell1234@gmail.com> wrote:
>>>
>>>>On Mon, 30 Jan 2012 16:45:17 +0000 (UTC), 2875 Dead <dead@gone.com>
>>>>wrote:
>>>>
>>>>>On Mon, 30 Jan 2012 00:19:00 -0800, MattB wrote:
>>>>>
>>>>>> On Sun, 29 Jan 2012 22:39:22 -0800 (PST), wy <wy_@myself.com> wrote:
>>>>>>
>>>>>>>On Jan 30, 1:24?am, MattB <notrdell1...@gmail.comspam.> wrote:
>>>>>>>> On Sun, 29 Jan 2012 22:08:13 -0800 (PST), wy <w...@myself.com>
>>>>>>>> wrote:
>>>>>>>> >On Jan 30, 12:58?am, MattB <trdell1...@gmail.com> wrote:
>>>>>>>> >> On Sun, 29 Jan 2012 21:21:45 -0800 (PST), wy <w...@myself.com>
>>>>>>>> >> wrote:
>>>>>>>> >> >On Jan 29, 11:03?pm, MattB <notrdell1...@gmail.comspam.>
>>>>>>>> >> >wrote:
>>>>>>>> >> >> On Fri, 27 Jan 2012 00:59:47 +0000 (UTC), 2875 Dead
>>>>>>>> >> >> <d...@gone.com> wrote:
>>>>>>>>
>>>>>>>> >> >> >http://news.yahoo.com/low-iq-conservative-belie...
>>>>>>>> >> >> >prejudice-180403506.html
>>>>>>>> >> >> >Low IQ & Conservative Beliefs Linked to Prejudice By
>>>>>>>> >> >> >Stephanie Pappas | LiveScience.com ? 3 hrs ago There's no
>>>>>>>> >> >> >gentle way to put it: People who give in to racism and
>>>>>>>> >> >> >prejudice may simply be dumb, according to a new study that
>>>>>>>> >> >> >is bound to stir public controversy.
>>>>>>>>
>>>>>>>> >> >> While many Conservatives are a little racist so are many
>>>>>>>> >> >> liberals.
>>>>>>>>
>>>>>>>> >> >> Liberals support terrorist. ?Then there are conservatives
>>>>>>>> >> >> like Richard that are racist. ?Now by what I have seen low
>>>>>>>> >> >> IQ might have something to do with both liberal support of
>>>>>>>> >> >> terrorist and racism in general.
>>>>>>>>
>>>>>>>> >> >> The extreme left are leninist and then we have the Tea Party
>>>>>>>> >> >> that wants government aided capitalism.
>>>>>>>>
>>>>>>>> >> >> ?Then we have Obama a idiot.
>>>>>>>>
>>>>>>>> >> >Obama a idiot. ?That's funny, in an idiot sort of way.
>>>>>>>>
>>>>>>>> >> ? Do you think giving guns to Drug Lords is smart? ? Do you
>>>>>>>> >> ? think
>>>>>>>> >> signing a treaty like ACTA was not the act of a idiot?
>>>>>>>>
>>>>>>>> >> ?Obama is either a idiot or not in charge. ?Which is it?
>>>>>>>>
>>>>>>>> >A idiot. ?What a idiot you are. ?A idiot.
>>>>>>>>
>>>>>>>> ? ?So you have no defense for him ?selling guns to drug lords
>>>>>>>> ? ?that are
>>>>>>>> then used on our own people? ? ?Then you have no logical reason
>>>>>>>> for him signing ACTA.
>>>>>>>>
>>>>>>>> ?You can't show he isn't a Idiot.
>>>>>>>
>>>>>>>A idiot.
>>>>>>>
>>>>>>>Ring-a-ding. Hello? Knock-knock. Who's there? Don't tell me it's
>>>>>>>... a idiot.
>>>>>>>
>>>>>>>A idiot.
>>>>>>
>>>>>>
>>>>>>
>>>>>> http://2.bp.blogspot.com/_izsdBzmzfog/S-La0xRuoxI/AAAA...
>>>>>oGIFnTezk/s1600/ObamaSucks.jpg
>>>>>>
>>>>>> Obama is all about Leninism.
>>>>>
>>>>>So what is Leninism, exactly?
>>>>
>>>> I've answered that at least twice.
>>>>
>>>Hmm, yes. I just spotted this one:
>>>
>>>"Leninism is the body of political theory for the democratic
>>>organization of a revolutionary vanguard party, and the achievement of a
>>>direct-democracy dictatorship of the proletariat, as political prelude
>>>to the establishment of socialism."
>>>
>>>You're spouting absolute nonsense, you know. Nobody is pushing for a
>>>direct-democracy dictatorship of any sort, and if socialism comes, it
>>>will be because the present system imploded completely.
>>>
>>>Certainly Obama and the Democrats are nowhere near your definition.
>>
>> Well I can hope not. Socialism has been proven to be a failed
>> system.
>
>Depends what you mean by "socialism". If you mean communism, then yes,
>it's certainly a failed system. But the most successful countries in the
>world are socialist: Sweden, Norway, Germany, France...

Been to some of those countries and they may have a socialist bend
to them they are pure socialist?. Personal I don't like pure
socialism or Capitalism. The USA government aided Capitalism I really
don't like.


>>
>> Yet even lenin had to start out small. If he gets a second term we
>> will see the true agenda come out. Whatever that is. Gun Control I
>> suspect is on the list.
>
>Now you're beginning to sound like a paranoid teabagger.

Now your just getting dirty and mean. Just for that I'm going to
call you Eddie Haskell. :-)))


>>
>>
>> BTW I know many Democrats that aren't far left. They are almost
>> Independents as are many Republicans. People who would be willing to
>> compromise and get half of what they want than nothing. The Extremist
>> on both the right and left would rather our country implode that give a
>> inch. IMO
>>
>>
>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>--
>>>>>?Those who make peaceful revolution impossible, make violent
>>>>>revolution inevitable? -JFK
>
>
>
>
>
>--
>?Those who make peaceful revolution impossible, make violent revolution
>inevitable? -JFK

MattB

1/31/2012 2:51:00 AM

0

On Tue, 31 Jan 2012 02:21:23 +0000 (UTC), 2875 Dead <dead@gone.com>
wrote:

>On Mon, 30 Jan 2012 17:57:48 -0800, MattB wrote:
>
>> On Tue, 31 Jan 2012 01:34:49 +0000 (UTC), 2875 Dead <dead@gone.com>
>> wrote:
>>
>>>On Mon, 30 Jan 2012 16:19:40 -0800, MattB wrote:
>>>
>>>> On Mon, 30 Jan 2012 15:08:02 -0800, 2875 Dead <dead@dead.net> wrote:
>>>>
>>>>>On Mon, 30 Jan 2012 13:16:03 -0800, MattB <trdell1234@gmail.com>
>>>>>wrote:
>>>>>
>>>>>>On Mon, 30 Jan 2012 16:45:17 +0000 (UTC), 2875 Dead <dead@gone.com>
>>>>>>wrote:
>>>>>>
>>>>>>>On Mon, 30 Jan 2012 00:19:00 -0800, MattB wrote:
>>>>>>>
>>>>>>>> On Sun, 29 Jan 2012 22:39:22 -0800 (PST), wy <wy_@myself.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>On Jan 30, 1:24?am, MattB <notrdell1...@gmail.comspam.> wrote:
>>>>>>>>>> On Sun, 29 Jan 2012 22:08:13 -0800 (PST), wy <w...@myself.com>
>>>>>>>>>> wrote:
>>>>>>>>>> >On Jan 30, 12:58?am, MattB <trdell1...@gmail.com> wrote:
>>>>>>>>>> >> On Sun, 29 Jan 2012 21:21:45 -0800 (PST), wy
>>>>>>>>>> >> <w...@myself.com> wrote:
>>>>>>>>>> >> >On Jan 29, 11:03?pm, MattB <notrdell1...@gmail.comspam.>
>>>>>>>>>> >> >wrote:
>>>>>>>>>> >> >> On Fri, 27 Jan 2012 00:59:47 +0000 (UTC), 2875 Dead
>>>>>>>>>> >> >> <d...@gone.com> wrote:
>>>>>>>>>>
>>>>>>>>>> >> >> >http://news.yahoo.com/low-iq-conservative-belie...
>>>>>>>>>> >> >> >prejudice-180403506.html
>>>>>>>>>> >> >> >Low IQ & Conservative Beliefs Linked to Prejudice By
>>>>>>>>>> >> >> >Stephanie Pappas | LiveScience.com ? 3 hrs ago There's no
>>>>>>>>>> >> >> >gentle way to put it: People who give in to racism and
>>>>>>>>>> >> >> >prejudice may simply be dumb, according to a new study
>>>>>>>>>> >> >> >that is bound to stir public controversy.
>>>>>>>>>>
>>>>>>>>>> >> >> While many Conservatives are a little racist so are many
>>>>>>>>>> >> >> liberals.
>>>>>>>>>>
>>>>>>>>>> >> >> Liberals support terrorist. ?Then there are conservatives
>>>>>>>>>> >> >> like Richard that are racist. ?Now by what I have seen low
>>>>>>>>>> >> >> IQ might have something to do with both liberal support of
>>>>>>>>>> >> >> terrorist and racism in general.
>>>>>>>>>>
>>>>>>>>>> >> >> The extreme left are leninist and then we have the Tea
>>>>>>>>>> >> >> Party that wants government aided capitalism.
>>>>>>>>>>
>>>>>>>>>> >> >> ?Then we have Obama a idiot.
>>>>>>>>>>
>>>>>>>>>> >> >Obama a idiot. ?That's funny, in an idiot sort of way.
>>>>>>>>>>
>>>>>>>>>> >> ? Do you think giving guns to Drug Lords is smart? ? Do you
>>>>>>>>>> >> ? think
>>>>>>>>>> >> signing a treaty like ACTA was not the act of a idiot?
>>>>>>>>>>
>>>>>>>>>> >> ?Obama is either a idiot or not in charge. ?Which is it?
>>>>>>>>>>
>>>>>>>>>> >A idiot. ?What a idiot you are. ?A idiot.
>>>>>>>>>>
>>>>>>>>>> ? ?So you have no defense for him ?selling guns to drug lords
>>>>>>>>>> ? ?that are
>>>>>>>>>> then used on our own people? ? ?Then you have no logical reason
>>>>>>>>>> for him signing ACTA.
>>>>>>>>>>
>>>>>>>>>> ?You can't show he isn't a Idiot.
>>>>>>>>>
>>>>>>>>>A idiot.
>>>>>>>>>
>>>>>>>>>Ring-a-ding. Hello? Knock-knock. Who's there? Don't tell me
>>>>>>>>>it's ... a idiot.
>>>>>>>>>
>>>>>>>>>A idiot.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> http://2.bp.blogspot.com/_izsdBzmzfog/S-La0xRuoxI/AAAA...
>>>>>>>oGIFnTezk/s1600/ObamaSucks.jpg
>>>>>>>>
>>>>>>>> Obama is all about Leninism.
>>>>>>>
>>>>>>>So what is Leninism, exactly?
>>>>>>
>>>>>> I've answered that at least twice.
>>>>>>
>>>>>Hmm, yes. I just spotted this one:
>>>>>
>>>>>"Leninism is the body of political theory for the democratic
>>>>>organization of a revolutionary vanguard party, and the achievement of
>>>>>a direct-democracy dictatorship of the proletariat, as political
>>>>>prelude to the establishment of socialism."
>>>>>
>>>>>You're spouting absolute nonsense, you know. Nobody is pushing for a
>>>>>direct-democracy dictatorship of any sort, and if socialism comes, it
>>>>>will be because the present system imploded completely.
>>>>>
>>>>>Certainly Obama and the Democrats are nowhere near your definition.
>>>>
>>>> Well I can hope not. Socialism has been proven to be a failed
>>>> system.
>>>
>>>Depends what you mean by "socialism". If you mean communism, then yes,
>>>it's certainly a failed system. But the most successful countries in
>>>the world are socialist: Sweden, Norway, Germany, France...
>>
>> Been to some of those countries and they may have a socialist bend
>> to them they are pure socialist?. Personal I don't like pure socialism
>> or Capitalism. The USA government aided Capitalism I really don't like.
>>
>>
>Now what on earth is "pure socialism"?

Something that doesn't work.
>>
>>>> Yet even lenin had to start out small. If he gets a second term we
>>>> will see the true agenda come out. Whatever that is. Gun Control I
>>>> suspect is on the list.
>>>
>>>Now you're beginning to sound like a paranoid teabagger.
>>
>> Now your just getting dirty and mean. Just for that I'm going to
>> call you Eddie Haskell. :-)))
>
>Secret agendas? Gun Control? It sounds like the stuff Eddie spouts.

Maybe but the destruction of the second Amendments worth another
civil war. Better the liberal freaks don't try for that. Slow or
fast.

Why did Obama sell guns to drug lords? Come on why?




>>
>>
>>
>>>>
>>>> BTW I know many Democrats that aren't far left. They are almost
>>>> Independents as are many Republicans. People who would be willing to
>>>> compromise and get half of what they want than nothing. The Extremist
>>>> on both the right and left would rather our country implode that give
>>>> a inch. IMO
>>>>
>>>>
>>>>
>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>--
>>>>>>>?Those who make peaceful revolution impossible, make violent
>>>>>>>revolution inevitable? -JFK
>>>
>>>
>>>
>>>
>>>
>>>--
>>>?Those who make peaceful revolution impossible, make violent revolution
>>>inevitable? -JFK
>
>
>
>
>
>--
>?Those who make peaceful revolution impossible, make violent revolution
>inevitable? -JFK