Journal Sanity's Journal: /dev/government : On geeks and the political process 34
Since then, and particularly in the last year or so during which I have been working hard to prevent the introduction of software patents in the European Union, I have seen first-hand how difficult it can be even for determined geeks to combat experienced and well-paid corporate lobbyists. Even when they figure out who it is they should be talking to, the lack of a coherent message can often serve simply to confuse their political representatives, rather than persuade them. On other occasions people's time and energy is wasted in writing to politicians whose minds are already made up.
My idea is to create a website which would allow geeks concerned about particular issues to coordinate their lobbying efforts to avoid these and other problems. At a basic level the website would contain a database of political representatives (and possibly other relevant individuals), and a record of all correspondence sent to and received from that person, organised by issue or campaign (examples of which might include the Software Patent Directive in the EU or the latest piece of anti-technology legislation put forward by the copyright industry's flunkies in congress).
This website would be somewhat analogous to "bugtracker" software such as Bugzilla, but instead of tracking the progress of particular bug-fixes, it tracks the progress of informing those in power about the concerns of technologists.
Going into a bit more detail, people would be able to locate their political representatives by indicating what issue they are interested in and then entering their location. The website would be largely user-generated in the spirit of Wikipedia. Users would be able to add new politicians to the database, edit summaries of those politician's positions, and obviously add details of correspondence they have sent or received.
Each response received from a politician can be rated with a score indicating how close they appear to be to the position the website has taken on an issue. These scores will be combined by the site to summarise the politicians apparent position, whether pro, anti, or undecided.
This data could then be mined in a variety of useful ways, such as creating voting lists of which politicians are deserving of support, and which are not, or determining whether politicians are accurately representing their party's position on the issue.
Unfortunately I do not have the time to build this myself at present, but I am hopeful that there is someone out there with PHP and MySql experience that could get their teeth into it. For my part I am willing to donate an account on a reliable Linux box from which the website can be served, and also the domain name lawtracker.org, to anyone that convinces me that they can make this a reality. Of course I will also provide any other support and advice I can for the project.
If interested, drop me an email at ian at locut dot us.
Awesome idea! (Score:2)
I envision it as something like slashdot (think the layout of the stories, not the trolls), but instead of tech news stories, there'd be politicians (we could have a short bio with a photo), and the comments on each "story" would be summaries of correspondence with that person. There'd be a robust category system to record which political party in which country the politician belongs to.
Wow, I love this idea and I think I actually have the skills to do it, but I'd prefer to use perl/postgresql i
Re:Awesome idea! (Score:2)
First, there'd be a table of just countries. It'd have one field, the name of the country, which would be a unique primary key.
Second, there'd be a table of political parties, which would have a field for the party name (unique primary key), the country it's in (this would be tied to the country table to avoid mispellings in country names), the party's official website, the party's official logo (stored
Re:Awesome idea! (Score:2)
Re: Country/politician/party tables:
I think this is a good start, although I am a bit concerned that it might not be flexible enough for the EU, where politicians are members of both national parties, and "groups" within the EU - so we might need a many-to-one relationship between parties and politicians (and perhaps use the more generic term "group" rather than party)?
Look and feel (Score:2)
Re:Look and feel (Score:2)
Re:Look and feel (Score:2)
Re:Look and feel (Score:2)
Re:Awesome idea! (Score:2)
Sure, I have no preference. I'm just used to 'party' as that is the term used here in Canada. Always seemed like a weird word to me ;)
Re:Awesome idea! (Score:2)
I think the easiest way would be to have a float for each item in the "bridge" table between politicians and issues, or groups and issues (ie. each item in this table contains information about a particular politician or group's view on a particular issue). This would mean that a politician could have a good score on one issue, but a bad score on another. Overall scores for politicians would be calculated on the fly as the aver
Re:Awesome idea! (Score:2)
I think I'm starting to understand. My original idea was to have users 'vote' for the politicians, leaving them with an average overall score, which would give us an aggregate of each user's opinion on the person. But what you're saying is to just simply have one flat 'score' rating per politician per issue, so the last person to edit that value would simply define the absolute scor
Re:Awesome idea! (Score:2)
Made a few changes, get V2 here [freenetproject.org]. Mainly just added a few fields. I replaced the location stuff with a "region" - this can be any geographic area, and links to its "parent" region - ie. the region that contains it. A region can then be a country, county, city, state, or even a politicial union of countries (eg. EU). I have also added an "Id" field to several tables and used it as the UPK - I have noticed that people
Re:Awesome idea! (Score:2)
By the way, I have sent you a few emails but haven't received any responses - are you getting them?
Re:Awesome idea! (Score:2)
I don't think you understand the arrows, though, as it's impossible for a table to reference itself (is it? I guess I'm the newbie here).
Anyway, I made some small tweaks to clean it up. Again, I have a PNG [rbpark.ath.cx] for those who don't want to bother loading Dia [rbpark.ath.cx]
I had to take the arrows off of the 'Parent' fields because it needs to be possible to have that value set to 'null', otherwise there could be no top-level regions and no top-level posts.
I'm also not e
Re:Awesome idea! (Score:2)
Well, I took the arrows to mean that the field at which the arrow originates contains a value that can be used to look up a particular entry in another table, the destination of the arrow. This is the common meaning of arrows in similar diagrams I have seen which illustrate database architectures.
Given this, it is perfectly possible for a field in a table to referenc
Re:Awesome idea! (Score:2)
I was thinking postgres's references would require the value to be something from the field it references, but it looks like I can indeed insert a null value into a referenced field. And I also thought that I could only reference other tables -- postgres is a little weird, it won't let me specify which field in the table it references, I just have to say 'references that other table' and then there's some magic that it figures it out with. I'll have to read up on
Re:Awesome idea! (Score:2)
Well, remember that you don't need to tell postgres when a field references another field (whether in a different table or not), as far as Postgres is concerned when you create the tables it is just an integer. Rather, the referencing is implicit in the SELECT statements when you are querying the database.
Re:Awesome idea! (Score:2)
For example, lets say we only have one region in the region table, 'Canada'. That would have an id of 1 since it's the first entry in the table. If you tried to enter a region whose parent int is '20', it'll give you an error because there is
Re:Awesome idea! (Score:2)
Once you have got a good schema file, I have a friend who is a database expert who we might want to ask to look over it.
Re:Awesome idea! (Score:2)
Schemas (Score:2)
Some quick research suggests that the command you need to dump a schema from postgres is pg_dump -s but I haven't tried it personally.
Re:Schemas (Score:2)
Have fun with that
Re:Awesome idea! (Score:2)
Even though I'm entering the correct password for the postgres user. However, this command succeeds (also as root):
And that'll connect to the database without asking for a password or anythin
Re:Awesome idea! (Score:1)
Re:Awesome idea! (Score:2)
Re:Awesome idea! (Score:2)
Great! You are welcome to do it in any language you like provided it can be done in a nice clean way such that others can extend it easily, and that the required tools can be installed with relative ease on a Debian box.
Re:Awesome idea! (Score:2)
Well, my development platform is a debian stable box running stock apache, perl, and postgres packages, so that should be fine. I'll try not to obfuscate the perl too much, but it'll mostly be written in SQL anyway (and most of the stuff that isn't SQL will be small, simple subroutines def
Re:Awesome idea! (Score:2)
Re:Awesome idea! (Score:2)
CGI::Session [cpan.org]
The example they give will be trivially modifiable for my purposes.
Great! (Score:1)
Re:Great! (Score:2)
Heh, I'm starting to like SQL ;) (Score:2)
One thing that I discovered that's very cool, is this SQL statement:
It lists all but the top-level regions and associates it with their parents. That's going to come in handy big-time when I'm creating the site and I need to actually create the heirarchy in perl'
tiki wiki (Score:1)
Status Update (Score:2)
From there, all I really have to do is some different public views (looking at different parts of the DB without logging in), and then allowing logged in users to make changes. This is the longest ste