Bitcoin Forum
April 30, 2024, 02:33:55 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 [51] 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 ... 843 »
  Print  
Author Topic: OFFICIAL CGMINER mining software thread for linux/win/osx/mips/arm/r-pi 4.11.1  (Read 5805215 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic. (3 posts by 1+ user deleted.)
sharky112065
Sr. Member
****
Offline Offline

Activity: 383
Merit: 250



View Profile
August 21, 2011, 10:50:32 AM
 #1001

Everyone thinks the feature they want is the killer feature.
* ckolivas gets his eyesight checked

I'm just surprised you did not think it was a necessary feature given that pool's allow users to set up multiple workers per GPU and display stats per worker.

I spent quite a bit of time playing with command line options trying to get it to work just assuming that it was possible given, that running it with just one pool automatically sets up all GPU's to that worker/login and display's on one screen.

In fact people in BTC Guild IRC channel told me it could not be done and I just could not believe it and stubbornly went ahead and fiddled with options.

But they were correct.  Sad

Donations welcome: 12KaKtrK52iQjPdtsJq7fJ7smC32tXWbWr
1714487635
Hero Member
*
Offline Offline

Posts: 1714487635

View Profile Personal Message (Offline)

Ignore
1714487635
Reply with quote  #2

1714487635
Report to moderator
1714487635
Hero Member
*
Offline Offline

Posts: 1714487635

View Profile Personal Message (Offline)

Ignore
1714487635
Reply with quote  #2

1714487635
Report to moderator
According to NIST and ECRYPT II, the cryptographic algorithms used in Bitcoin are expected to be strong until at least 2030. (After that, it will not be too difficult to transition to different algorithms.)
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714487635
Hero Member
*
Offline Offline

Posts: 1714487635

View Profile Personal Message (Offline)

Ignore
1714487635
Reply with quote  #2

1714487635
Report to moderator
1714487635
Hero Member
*
Offline Offline

Posts: 1714487635

View Profile Personal Message (Offline)

Ignore
1714487635
Reply with quote  #2

1714487635
Report to moderator
1714487635
Hero Member
*
Offline Offline

Posts: 1714487635

View Profile Personal Message (Offline)

Ignore
1714487635
Reply with quote  #2

1714487635
Report to moderator
sharky112065
Sr. Member
****
Offline Offline

Activity: 383
Merit: 250



View Profile
August 21, 2011, 10:58:10 AM
 #1002

If one has problems with Miner/GPU/Worker going down from time to time, one should have the whole process of restoring them automated.
Much easier to do in linux, but can be done in windows too, just easier in linux.

At some point one will have need to manually perform maintenance, even when running Linux. Having separate workers for Computer/GPU, makes targeting that Computer/CPU that much easier.

Donations welcome: 12KaKtrK52iQjPdtsJq7fJ7smC32tXWbWr
phase
Newbie
*
Offline Offline

Activity: 49
Merit: 0



View Profile
August 21, 2011, 10:59:42 AM
 #1003

As said, you can achieve this by simply running separate instances of the miner for every GPU.. You have 4 single-GPU cards, so you assign one instance of cgminer to each card, presto. Yes, those 3 extra processes are totally going to drive down your efficiency and clutter your system... Why don't you start by switching over to Linux, if you want to increase efficiency, since cgminer is known to have high CPU usage on Windows due to porting. Set up some scripts and you're good to go.
sharky112065
Sr. Member
****
Offline Offline

Activity: 383
Merit: 250



View Profile
August 21, 2011, 11:12:10 AM
 #1004

As said, you can achieve this by simply running separate instances of the miner for every GPU.. You have 4 single-GPU cards, so you assign one instance of cgminer to each card, presto. Yes, those 3 extra processes are totally going to drive down your efficiency and clutter your system... Why don't you start by switching over to Linux, if you want to increase efficiency, since cgminer is known to have high CPU usage on Windows due to porting. Set up some scripts and you're good to go.

Oh my god.

It is really stupid regardless of whether you are on Linux or Windows to have to run multiple instances. Especially since Cgminer is already set up to use all GPU's with one worker and display stats on one screen. Why would you want to have multiple screens that you have to toggle just to get stats.

Windows CPU usage can be reduced using affinity so I'm not worried about that.

Switching to Linux at this point would take quite a bit of time for all of my computers and still does not solve the problem. A lot of people like to run on Windows (Bloated that it is) rather than Linux because it is far easier.

Given how Cgminer seems to work now, I would think (but I do not know) it would be easy to add another cmd line option to use different login names per GPU.

Donations welcome: 12KaKtrK52iQjPdtsJq7fJ7smC32tXWbWr
cirz8
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
August 21, 2011, 11:24:49 AM
 #1005

If one has problems with Miner/GPU/Worker going down from time to time, one should have the whole process of restoring them automated.
Much easier to do in linux, but can be done in windows too, just easier in linux.

At some point one will have need to manually perform maintenance, even when running Linux. Having separate workers for Computer/GPU, makes targeting that Computer/CPU that much easier.
I don't have to touch my rigs even if there is a hard lock, unless I want to.
Sure, if some hardware fails physically there is not much any automated software can do about it unless you have a robot available.
But such a failure would be displayed in the monitoring logs/graphs as that rig would stop responding or report very odd values.
phase
Newbie
*
Offline Offline

Activity: 49
Merit: 0



View Profile
August 21, 2011, 11:27:38 AM
Last edit: August 21, 2011, 11:41:35 AM by phase
 #1006

It is really stupid regardless of whether you are on Linux or Windows to have to run multiple instances. Especially since Cgminer is already set up to use all GPU's with one worker and display stats on one screen. Why would you want to have multiple screens that you have to toggle just to get stats.
Well, on Windows and even on Linux, there is this neat trick that allows you to resize windows and fit them all on one screen, it's quite amazing frankly.. Wink

Windows CPU usage can be reduced using affinity so I'm not worried about that.
Then why worry about running 3 extra processes?

Given how Cgminer seems to work now, I would think (but I do not know) it would be easy to add another cmd line option to use different login names per GPU.
Load balancing / failover, pool connections, work and login data are currently shared among one process and all GPU's enabled for that process. The command line arguments would have to be extended and the logic further complicated to detect if you are loading data for one GPU and/or multiple GPU's, for those that want to pass all this info via command-line instead of configuration files, etc... If con were to add what you ask, he would have to split all of this logic off on a per-GPU level, adding extra complexity to the miner, for something that is basically a moot point. This is probably just the tip of the iceberg. If you really want this, I'd suggest starting out with a donation. Wink

I can think of a good reason to run one instance per GPU. If a GPU dies, you can't always restart it from within cgminer. With one GPU per instance, you can have a script checking stats (cgminer output piped to log file, or core temperature with single-core cards) for each GPU and automatically kill/restart instances of cgminer with a dead GPU.
sharky112065
Sr. Member
****
Offline Offline

Activity: 383
Merit: 250



View Profile
August 21, 2011, 11:38:06 AM
 #1007

It is really stupid regardless of whether you are on Linux or Windows to have to run multiple instances. Especially since Cgminer is already set up to use all GPU's with one worker and display stats on one screen. Why would you want to have multiple screens that you have to toggle just to get stats.
Well, on Windows and even on Linux, there is this neat trick that allows you to resize windows and fit them all on one screen, it's quite amazing frankly.. Wink

Windows CPU usage can be reduced using affinity so I'm not worried about that.
Then why worry about running 3 extra processes?

Given how Cgminer seems to work now, I would think (but I do not know) it would be easy to add another cmd line option to use different login names per GPU.
Load balancing / failover, pool connections, work and login data are currently shared among one process and all GPU's enabled for that process. The command line arguments would have to be extended and the logic further complicated to detect if you are loading data for one GPU and/or multiple GPU's, for those that want to pass all this info via command-line instead of configuration files, etc... If con were to add what you ask, he would have to split all of this logic off on a per-GPU level, adding extra complexity to the miner, for something that is basically a moot point. This is probably just the tip of the iceberg. If you really want this, I'd suggest starting out with a donation. Wink

Well it will take some time to add the code so by all means it should not be done. BS logic IMO.

I am not going to donate for software I deem unusable to me at this time. When it will replace Guiminer for me (Everything on one screen and ability to use a separate login per GPU) then I will start using it and certainly donate.

It is only a moot point to you because you probably would not use the feature, but do not seem to give a crap that other people will.

Yes the windows can all be re-sized but try doing that at 1024x768 with 4 windows. You will not be able to see all the windows contents without moving them.

Donations welcome: 12KaKtrK52iQjPdtsJq7fJ7smC32tXWbWr
Okama
Newbie
*
Offline Offline

Activity: 23
Merit: 0


View Profile
August 21, 2011, 11:41:16 AM
 #1008

@Okama: I wouldn't pay much attention to the rates till much longer has passed. If you get different rates after many hours, check stability of different cards (see mine for how stable the rates can be long term with identical cards).
Below are my 5870s which have been running for hours at 975/300. I'm sure that they are stable at this clock (had been running without a hitch for weeks using phoenix before switch to cgminer).
Code:
 cgminer version 1.5.6 - Started: [2011-08-21 00:37:06]
--------------------------------------------------------------------------------
 [(5s):1640.4  (avg):1639.7 Mh/s] [Q:17490  A:26879  R:222  HW:0  E:154%  U:22.48/m]
 TQ: 4  ST: 10  LS: 0  SS: 1  DW: 2170  NB: 125  LW: 19540  LO: 0  RF: 31  I: 8
 Block: 000007728b0bd6579ee146838f6a0754...  Started: [20:24:10]
--------------------------------------------------------------------------------
 [P]ool management [G]PU management [S]ettings [D]isplay options [Q]uit
 GPU 0: [451.6 / 451.9 Mh/s] [Q:5862  A:7439  R:62  HW:0  E:127%  U:6.22/m]
 GPU 1: [435.6 / 435.3 Mh/s] [Q:3554  A:7185  R:60  HW:0  E:202%  U:6.01/m]
cirz8
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
August 21, 2011, 12:05:37 PM
 #1009

When it will replace Guiminer for me (Everything on one screen and ability to use a separate login per GPU) then I will start using it and certainly donate.

Why should the cgminer developer put in a massive effort of time and work to make a fundamental change to the code of cgminer just to make it look-like/work-as guiminer when they both are based on different idea on how their program should work?  Huh
Why not just ask for a web-browser and a media player to be added as well?  Wink
I for one would like it to have a native hypervisor with 0% loss of performance when doing millions of I/O per second, but that doesn't mean I would ask for it.  Wink

What you are looking for is a "simple" wrapper. (I think)
If you want it really easy, take a look at BAMT http://bitcointalk.org/index.php?topic=28967.0. (sorry for pointing to other projects in this thread)
Yanz
Full Member
***
Offline Offline

Activity: 133
Merit: 100


View Profile
August 21, 2011, 03:15:06 PM
 #1010

Is there a reason cgminer 1.5.6 won't fail over to a backup pool? When my primary pool goes down, cgminer sits there and says the pool is not responding repeatedly. I have to manually switch to the second pool and then it will start mining away.

I have it setup on failover mode and when I check the pool screen it says both pools are alive.

With great video cards comes great power consumption.
Fletch
Full Member
***
Offline Offline

Activity: 168
Merit: 100


I'll have a steak sandwich and a... steak sandwich


View Profile
August 21, 2011, 09:30:44 PM
 #1011

Is it possible to define multiple pools using a JSON config file? I tried just duplicating the url/user/pass, but it seems to ignore all but the last entry.

I'm sure this has been answered already, but I searched and was unable to find any info on this.

HashPeak - GPU mining hashrate peak detector
BTC: 1FLETCHvcUKosefrcZCLUQTtvx4WvgnYMC
-ck (OP)
Legendary
*
Offline Offline

Activity: 4088
Merit: 1631


Ruu \o/


View Profile WWW
August 21, 2011, 09:33:04 PM
 #1012

Is there a reason cgminer 1.5.6 won't fail over to a backup pool? When my primary pool goes down, cgminer sits there and says the pool is not responding repeatedly. I have to manually switch to the second pool and then it will start mining away.

I have it setup on failover mode and when I check the pool screen it says both pools are alive.
It will generate local work from a failed pool for up to 5 minutes after a pool has gone down. If in that time the pool still hasn't come back up, only then will it switch.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
-ck (OP)
Legendary
*
Offline Offline

Activity: 4088
Merit: 1631


Ruu \o/


View Profile WWW
August 21, 2011, 09:33:50 PM
 #1013

Is it possible to define multiple pools using a JSON config file? I tried just duplicating the url/user/pass, but it seems to ignore all but the first entry.

I'm sure this has been answered already, but I searched and was unable to find any info on this.
Not yet. The only way currently is to specify multiple config files, each with different pool settings (i.e.: -c 1.cfg -c 2.cfg )

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
d3m0n1q_733rz
Sr. Member
****
Offline Offline

Activity: 378
Merit: 250



View Profile WWW
August 21, 2011, 09:38:04 PM
 #1014

It is really stupid regardless of whether you are on Linux or Windows to have to run multiple instances. Especially since Cgminer is already set up to use all GPU's with one worker and display stats on one screen. Why would you want to have multiple screens that you have to toggle just to get stats.
Well, on Windows and even on Linux, there is this neat trick that allows you to resize windows and fit them all on one screen, it's quite amazing frankly.. Wink

Windows CPU usage can be reduced using affinity so I'm not worried about that.
Then why worry about running 3 extra processes?

Given how Cgminer seems to work now, I would think (but I do not know) it would be easy to add another cmd line option to use different login names per GPU.
Load balancing / failover, pool connections, work and login data are currently shared among one process and all GPU's enabled for that process. The command line arguments would have to be extended and the logic further complicated to detect if you are loading data for one GPU and/or multiple GPU's, for those that want to pass all this info via command-line instead of configuration files, etc... If con were to add what you ask, he would have to split all of this logic off on a per-GPU level, adding extra complexity to the miner, for something that is basically a moot point. This is probably just the tip of the iceberg. If you really want this, I'd suggest starting out with a donation. Wink

Well it will take some time to add the code so by all means it should not be done. BS logic IMO.

I am not going to donate for software I deem unusable to me at this time. When it will replace Guiminer for me (Everything on one screen and ability to use a separate login per GPU) then I will start using it and certainly donate.

It is only a moot point to you because you probably would not use the feature, but do not seem to give a crap that other people will.

Yes the windows can all be re-sized but try doing that at 1024x768 with 4 windows. You will not be able to see all the windows contents without moving them.
Sharky,
Please don't throw tantrums.  It's unbecoming of any member and is a lot less likely to get ANYONE to work with you regardless of how good an idea may be.  As I said, while it would be easy to modify the command options to accept such a command, modifying the cgminer software itself to submit results on a per-username basis would take a lot longer.  Honestly, with the most recent Windows ATI driver (11.8 at the time of writing), the efficiency won't drop as much as most people think because it doesn't use as much CPU/memory as the previous driver versions.  Most people haven't realized this yet as they probably haven't downloaded the most recent driver.  Now, you will have some more memory usage due to the extra threads of running 3 other instances of cgminer; but that can't be helped until some pretty big modifications to the cgminer code could be completed.
So please try to understand that it's not as easy as just typing in a few words and being done with it.  Okay?

Funroll_Loops, the theoretically quicker breakfast cereal!
Check out http://www.facebook.com/JupiterICT for all of your computing needs.  If you need it, we can get it.  We have solutions for your computing conundrums.  BTC accepted!  12HWUSguWXRCQKfkPeJygVR1ex5wbg3hAq
sharky112065
Sr. Member
****
Offline Offline

Activity: 383
Merit: 250



View Profile
August 21, 2011, 11:24:52 PM
Last edit: August 22, 2011, 12:01:20 AM by sharky112065
 #1015

It is really stupid regardless of whether you are on Linux or Windows to have to run multiple instances. Especially since Cgminer is already set up to use all GPU's with one worker and display stats on one screen. Why would you want to have multiple screens that you have to toggle just to get stats.
Well, on Windows and even on Linux, there is this neat trick that allows you to resize windows and fit them all on one screen, it's quite amazing frankly.. Wink

Windows CPU usage can be reduced using affinity so I'm not worried about that.
Then why worry about running 3 extra processes?

Given how Cgminer seems to work now, I would think (but I do not know) it would be easy to add another cmd line option to use different login names per GPU.
Load balancing / failover, pool connections, work and login data are currently shared among one process and all GPU's enabled for that process. The command line arguments would have to be extended and the logic further complicated to detect if you are loading data for one GPU and/or multiple GPU's, for those that want to pass all this info via command-line instead of configuration files, etc... If con were to add what you ask, he would have to split all of this logic off on a per-GPU level, adding extra complexity to the miner, for something that is basically a moot point. This is probably just the tip of the iceberg. If you really want this, I'd suggest starting out with a donation. Wink

Well it will take some time to add the code so by all means it should not be done. BS logic IMO.

I am not going to donate for software I deem unusable to me at this time. When it will replace Guiminer for me (Everything on one screen and ability to use a separate login per GPU) then I will start using it and certainly donate.

It is only a moot point to you because you probably would not use the feature, but do not seem to give a crap that other people will.

Yes the windows can all be re-sized but try doing that at 1024x768 with 4 windows. You will not be able to see all the windows contents without moving them.
Sharky,
Please don't throw tantrums.  It's unbecoming of any member and is a lot less likely to get ANYONE to work with you regardless of how good an idea may be.  As I said, while it would be easy to modify the command options to accept such a command, modifying the cgminer software itself to submit results on a per-username basis would take a lot longer.  Honestly, with the most recent Windows ATI driver (11.8 at the time of writing), the efficiency won't drop as much as most people think because it doesn't use as much CPU/memory as the previous driver versions.  Most people haven't realized this yet as they probably haven't downloaded the most recent driver.  Now, you will have some more memory usage due to the extra threads of running 3 other instances of cgminer; but that can't be helped until some pretty big modifications to the cgminer code could be completed.
So please try to understand that it's not as easy as just typing in a few words and being done with it.  Okay?

No worries. I seem to be the only one that wants to be able to use a separate login for each GPU anyway. The author does not seem to give a shit, nor do users of cgminer. So I have given up on cgminer and moved on.

Obviously for Windows users that do not want to toggle between multiple windows running at 1024 x 768 this is not for you if; you want to be able to see on your pool's website which computer/GPU is having issues. Stick with Guiminer or whatever you were using.

Donations welcome: 12KaKtrK52iQjPdtsJq7fJ7smC32tXWbWr
The LT
Full Member
***
Offline Offline

Activity: 186
Merit: 100



View Profile WWW
August 22, 2011, 01:42:05 AM
Last edit: August 22, 2011, 02:14:31 AM by The LT
 #1016

Hi everyone,

First of all, thanks a lot to ckolivas for creating such a program.

I have a question/suggestion. I'm trying to make a Gentoo ebuild for cgminer and have run into a problem.
cgminer seems to look for OpenCL kernels in the current directory and from the first glance at it, it looks
like it's hardcoded that way. I think that it would be more correct to store them in /var/lib/cgminer directory
along with the dynamically-generated binary. Is it possible to add an option to specify kernel file locations manually?

Any ideas on how to better implement this? It can, of course, be done by adding a trivial patch to the ebuild, but
would it hurt to add such an option? I'm in no way an expert at programming but I hope I did make some sense. Smiley

Thanks,

P.S. ATM i'm doing a cd /var/lib/cgminer in my init.d script and then exec the binary and it works.
-ck (OP)
Legendary
*
Offline Offline

Activity: 4088
Merit: 1631


Ruu \o/


View Profile WWW
August 22, 2011, 03:11:30 AM
 #1017

Version 1.5.7 - (links in 1st post as usual)

- Fix a crash with --algo auto
- Test at appropriate target difficulty now.
- Add per-device statics log output with --per-device-stats
- Fix breakage that occurs when 1 or 4 vectors are chosen on new phatk.
- Make rolltime report debug level only now since we check it every work
item.
- Add the ability to enable/disable per-device stats on the fly and match
logging on/off.
- Explicitly tell the compiler to retain the program to minimise the chance of
the zero sized binary errors.
- Add one more instruction to avoid one branch point in the common path in the
cl return code. Although this adds more ALUs overall and more branch points, the
common path code has the same number of ALUs and one less jmp, jmps being more
expensive.
- Explicitly link in ws2_32 on the windows build and update README file on how
to compile successfully on windows.
- Release cl resources should the gpu mining thread abort.
- Attempt to restart a GPU once every minute while it's sick.
- Don't kill off the reinit thread if it fails to init a GPU but returns safely.
- Only declare a GPU dead if there's been no sign of activity from the reinit
thread for 10 mins.
- Never automatically disable any pools but just specify them as idle if they're
unresponsive at startup.
- Use any longpoll available, and don't disable it if switching to a server that
doesn't have it. This allows you to mine solo, yet use the longpoll from a pool
even if the pool is the backup server.
- Display which longpoll failed and don't free the ram for lp_url since it
belongs to the pool hdr path.
- Make the tcp setsockopts unique to linux in the hope it allows freebsd et. al
to compile.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
Endeavour79
Full Member
***
Offline Offline

Activity: 174
Merit: 100



View Profile WWW
August 22, 2011, 04:52:20 AM
 #1018

I don't know what the reason is but after getting 1.5.6 and 1.5.7 successfully to start (after a few start-stop-start-stop because of zero binaries..) the hash speed for my first GPU (Cayman HD6970) is pretty low.
288MHash/sec compared to 410 Mhash/sec at 1.5.5.

Both Cypress GPUs 2 and 3 run fine. I tested with different Intensity settings but no way to reach 410 again.
I assume, there are still issues with the OpenCL compiler. (11.6, 11.7, 11.8 all the same issue, Win7 64bit)

NSW, Australia - Rigs, Mining, Pools - Local help needed? Send me a message!
-ck (OP)
Legendary
*
Offline Offline

Activity: 4088
Merit: 1631


Ruu \o/


View Profile WWW
August 22, 2011, 04:58:51 AM
 #1019

If it's the first GPU, could be coincidence involving a change to your setup, like having the monitor connected, or the screensaver being enabled that wasn't just a blank screen, or... power supply now failing or... some other random who knows what. Does 1.5.5 still give you the higher rate?

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
Endeavour79
Full Member
***
Offline Offline

Activity: 174
Merit: 100



View Profile WWW
August 22, 2011, 05:03:48 AM
 #1020

I know what you mean. But I did not change anything beside starting 1.5.6 or 1.5.7 from a clean folder.
There was no crash, black screen or anything.
If I start 1.5.5 after, before or after restart, it still gives me the normal 410 MHash.

One thing to add.. the reason is, the GPU usage for the first GPU jumps around from 50% to 95% back to 40%. I assume that may cause the low speeds.

Talk to you in IRC..


NSW, Australia - Rigs, Mining, Pools - Local help needed? Send me a message!
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 [51] 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 ... 843 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!