Bitcoin Forum
December 05, 2016, 02:40:41 PM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
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 »
  Print  
Author Topic: Ufasoft Miner - Windows/Linux, x86/x64, SSE2/OpenCL, Open Source  (Read 600329 times)
Dorkslayz
Sr. Member
****
Online Online

Activity: 280


Private Torrents and NZB indexers for sell


View Profile
September 02, 2012, 02:44:11 PM
 #881

Are there any options to run it silently (completely invisible) or do we have to edit something before compiling?

1480948841
Hero Member
*
Offline Offline

Posts: 1480948841

View Profile Personal Message (Offline)

Ignore
1480948841
Reply with quote  #2

1480948841
Report to moderator
1480948841
Hero Member
*
Offline Offline

Posts: 1480948841

View Profile Personal Message (Offline)

Ignore
1480948841
Reply with quote  #2

1480948841
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480948841
Hero Member
*
Offline Offline

Posts: 1480948841

View Profile Personal Message (Offline)

Ignore
1480948841
Reply with quote  #2

1480948841
Report to moderator
ufasoft
Sr. Member
****
Offline Offline

Activity: 402


View Profile WWW
September 02, 2012, 03:32:27 PM
 #882

Are there any options to run it silently (completely invisible) or do we have to edit something before compiling?

Following .vbs script:

Code:
Set WshShell = WScript.CreateObject("WScript.Shell")
cmd = "coin-miner.exe"
Return = WshShell.Run(cmd, 0, True)
set WshShell = Nothing

Bitcoin donations: 18X598V8rVdjy3Yg1cjZmnnv4SpPthuBeT
Dorkslayz
Sr. Member
****
Online Online

Activity: 280


Private Torrents and NZB indexers for sell


View Profile
September 02, 2012, 03:57:43 PM
 #883

Are there any options to run it silently (completely invisible) or do we have to edit something before compiling?

Following .vbs script:

Code:
Set WshShell = WScript.CreateObject("WScript.Shell")
cmd = "coin-miner.exe"
Return = WshShell.Run(cmd, 0, True)
set WshShell = Nothing

I'm using Visual Studio 11 Beta to try and compile, but I get this error.

Quote
Error   2   error C1083: Cannot open include file: 'prj_config.h': No such file or directory   C:\Users\User\ufasoft\ufasoft_coin-0.34\el\inc\inc_configs.h   12   1   bitcoin-miner

Can you specify what version of visual studio I should be using to compile it?

ufasoft
Sr. Member
****
Offline Offline

Activity: 402


View Profile WWW
September 02, 2012, 04:18:29 PM
 #884


I'm using Visual Studio 11 Beta to try and compile, but I get this error.

Quote
Error   2   error C1083: Cannot open include file: 'prj_config.h': No such file or directory   C:\Users\User\ufasoft\ufasoft_coin-0.34\el\inc\inc_configs.h   12   1   bitcoin-miner

Can you specify what version of visual studio I should be using to compile it?
add directory with prj_config.h to default include dirs of the project.
VS 11 (2012) is ok.

Bitcoin donations: 18X598V8rVdjy3Yg1cjZmnnv4SpPthuBeT
Dorkslayz
Sr. Member
****
Online Online

Activity: 280


Private Torrents and NZB indexers for sell


View Profile
September 02, 2012, 07:59:25 PM
 #885

Fixed previous errors and it compiles fine now, any suggestions on how to reduce the file size a bit though?

Dorkslayz
Sr. Member
****
Online Online

Activity: 280


Private Torrents and NZB indexers for sell


View Profile
September 03, 2012, 08:08:00 AM
 #886

It compiles and works fine on Win7/AMD64 but when trying to run the miner compiled in both x64 and Win32 on Windows XP 32 Bit (in a vm) I get an error stating that it is not a valid win32 application.

ufasoft
Sr. Member
****
Offline Offline

Activity: 402


View Profile WWW
September 03, 2012, 08:38:15 AM
 #887

It compiles and works fine on Win7/AMD64 but when trying to run the miner compiled in both x64 and Win32 on Windows XP 32 Bit (in a vm) I get an error stating that it is not a valid win32 application.
It is known problem.  VS2012 linker sets EXE's "min OS version" to 6.0.  WinXP requires 5.0.
There are hacks exist how to  modify EXE binary to 5.0. But more reliable method is to use VS2010, and add /version:5.0 linker option.

Bitcoin donations: 18X598V8rVdjy3Yg1cjZmnnv4SpPthuBeT
Dorkslayz
Sr. Member
****
Online Online

Activity: 280


Private Torrents and NZB indexers for sell


View Profile
September 03, 2012, 08:40:38 AM
 #888

It compiles and works fine on Win7/AMD64 but when trying to run the miner compiled in both x64 and Win32 on Windows XP 32 Bit (in a vm) I get an error stating that it is not a valid win32 application.
It is known problem.  VS2012 linker sets EXE's "min OS version" to 6.0.  WinXP requires 5.0.
There are hacks exist how to  modify EXE binary to 5.0. But more reliable method is to use VS2010, and add /version:5.0 linker option.

Ok, i'll try that.

When building in Release configuration, with x86 as the Active solution platform and the platform of bitcoin-miner and coineng set to Win32, I get errors relating to "Module unsafe for SAFESEH image"

Edit:

Is there any way to monitor the output from the hidden CMD window and for example, if the user doesn't have a GPU installed then the miner defaults back to CPU?

Dorkslayz
Sr. Member
****
Online Online

Activity: 280


Private Torrents and NZB indexers for sell


View Profile
September 03, 2012, 05:28:07 PM
 #889

I'm having some issues with Visual Studio 2010/2008 and C++ Express and compiling, are you able to elaborate on the "hacks" you mentioned to change min os version?

ufasoft
Sr. Member
****
Offline Offline

Activity: 402


View Profile WWW
September 03, 2012, 07:44:12 PM
 #890

I'm having some issues with Visual Studio 2010/2008 and C++ Express and compiling, are you able to elaborate on the "hacks" you mentioned to change min os version?
http://tedwvc.wordpress.com/2012/03/11/how-to-get-visual-c-2012-vc-11-beta-statically-linked-crt-and-mfc-applications-to-run-on-windows-xp/

Bitcoin donations: 18X598V8rVdjy3Yg1cjZmnnv4SpPthuBeT
Dorkslayz
Sr. Member
****
Online Online

Activity: 280


Private Torrents and NZB indexers for sell


View Profile
September 04, 2012, 08:17:58 AM
 #891

I'm having some issues with Visual Studio 2010/2008 and C++ Express and compiling, are you able to elaborate on the "hacks" you mentioned to change min os version?
http://tedwvc.wordpress.com/2012/03/11/how-to-get-visual-c-2012-vc-11-beta-statically-linked-crt-and-mfc-applications-to-run-on-windows-xp/
Quote
I followed the MSDN Link in that article and set the platform toolset to v100 however getting errors.

When compiling on x64 or Win32 in Release mode (With v100 platform toolset), I get these errors.

Quote
Error   1   error A1000: cannot open file : el/comp/x86x64.inc   C:\Users\User\ufasoft\ufasoft_coin-0.34\el\libext\bignum-x86x64.asm   8   1   bitcoin-miner (Visual Studio 2010)
Quote
Error   2   error MSB3721: The command "ml64.exe /c /nologo /Zi /Fo"C:\Users\User\ufasoft\ufasoft_coin-0.34\Release\x64_obj\bignum-x86x64.obj" /W3 /errorReport:prompt  /Ta"el\libext\bignum-x86x64.asm"" exited with code 1.   C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\masm.targets   49   6   bitcoin-miner (Visual Studio 2010)

When compiling on Win32/Release (With v110/v100 toolset), I get these errors. (However, when I turn /SAFESEH off, it compiles fine - I just wanted to know if it was a bad idea to turn it off)

Quote
Error   1   error LNK2026: module unsafe for SAFESEH image.   C:\Users\User\ufasoft\ufasoft_coin-0.34\bignum-x86x64.obj   bitcoin-miner
Quote
Error   2   error LNK2026: module unsafe for SAFESEH image.   C:\Users\User\ufasoft\ufasoft_coin-0.34\sha256_x86x64.obj   bitcoin-miner
Quote
Error   3   error LNK2026: module unsafe for SAFESEH image.   C:\Users\User\ufasoft\ufasoft_coin-0.34\scrypt_x86x64.obj   bitcoin-miner
Quote
Error   4   error LNK2026: module unsafe for SAFESEH image.   C:\Users\User\ufasoft\ufasoft_coin-0.34\bitcoin_sha256_x86x64.obj   bitcoin-miner
Quote
Error   5   error LNK1281: Unable to generate SAFESEH image.   C:\Users\User\ufasoft\ufasoft_coin-0.34\Release\bitcoin-miner.exe   1   1   bitcoin-miner

This error is fixed now, I copied and pasted the contents of el/comp/x86x64.inc into the top of bignum-x86x64.asm and removed the include, dismissing the errors.

However, I get a new error now.

Quote
Error   1   error C1083: Cannot open include file: 'stdint.h': No such file or directory   C:\Users\User\ufasoft\ufasoft_coin-0.34\el\libext.h   522   1   bitcoin-miner (Visual Studio 2010)

and upon checking, stdint.h does not exist anywhere in the source code, should I just remove this instruction?

d3m0n1q_733rz
Sr. Member
****
Offline Offline

Activity: 378



View Profile WWW
September 07, 2012, 03:56:45 AM
 #892

Bitcoin-miner 0.34 linux version problem:

Code:
*** glibc detected *** bitcoin-miner: free(): invalid next size (normal): 0x00007fc460000a80 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7e626)[0x7fc4759cb626]
bitcoin-miner[0x45c6c0]
bitcoin-miner[0x411989]
bitcoin-miner[0x425d92]
bitcoin-miner[0x425e8e]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a)[0x7fc47675ee9a]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fc475a3f4bd]
======= Memory map: ========
00400000-0047c000 r-xp 00000000 08:05 39                                 /usr/local/bin/bitcoin-miner
0067b000-0067c000 r-xp 0007b000 08:05 39                                 /usr/local/bin/bitcoin-miner
0067c000-0067d000 rwxp 0007c000 08:05 39                                 /usr/local/bin/bitcoin-miner
0067d000-00680000 rwxp 00000000 00:00 0
02645000-02687000 rwxp 00000000 00:00 0                                  [heap]
7fc458000000-7fc458021000 rwxp 00000000 00:00 0
7fc458021000-7fc45c000000 ---p 00000000 00:00 0
7fc460000000-7fc460061000 rwxp 00000000 00:00 0
7fc460061000-7fc464000000 ---p 00000000 00:00 0
7fc468000000-7fc468021000 rwxp 00000000 00:00 0
7fc468021000-7fc46c000000 ---p 00000000 00:00 0
7fc46ef88000-7fc46ef89000 ---p 00000000 00:00 0
7fc46ef89000-7fc46f789000 rwxp 00000000 00:00 0                          [stack:18017]
7fc46f789000-7fc46f790000 r-xp 00000000 08:05 142115                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7fc46f790000-7fc46f98f000 ---p 00007000 08:05 142115                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7fc46f98f000-7fc46f990000 r-xp 00006000 08:05 142115                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7fc46f990000-7fc46f991000 rwxp 00007000 08:05 142115                     /lib/x86_64-linux-gnu/libnss_dns-2.15.so
7fc46f991000-7fc46f993000 r-xp 00000000 08:05 152963                     /lib/libnss_mdns4_minimal.so.2
7fc46f993000-7fc46fb92000 ---p 00002000 08:05 152963                     /lib/libnss_mdns4_minimal.so.2
7fc46fb92000-7fc46fb93000 r-xp 00001000 08:05 152963                     /lib/libnss_mdns4_minimal.so.2
7fc46fb93000-7fc46fb94000 rwxp 00002000 08:05 152963                     /lib/libnss_mdns4_minimal.so.2
7fc46fb94000-7fc46fba0000 r-xp 00000000 08:05 141793                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7fc46fba0000-7fc46fd9f000 ---p 0000c000 08:05 141793                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7fc46fd9f000-7fc46fda0000 r-xp 0000b000 08:05 141793                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7fc46fda0000-7fc46fda1000 rwxp 0000c000 08:05 141793                     /lib/x86_64-linux-gnu/libnss_files-2.15.so
7fc46fda1000-7fc46fda2000 ---p 00000000 00:00 0
7fc46fda2000-7fc4705a2000 rwxp 00000000 00:00 0                          [stack:18016]
7fc4705a2000-7fc4705a3000 ---p 00000000 00:00 0
7fc4705a3000-7fc470da3000 rwxp 00000000 00:00 0                          [stack:18015]
7fc470da3000-7fc47106f000 r-xp 00000000 08:05 2538                       /usr/lib/locale/locale-archive
7fc47106f000-7fc471072000 r-xp 00000000 08:05 102930                     /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
7fc471072000-7fc471271000 ---p 00003000 08:05 102930                     /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
7fc471271000-7fc471272000 r-xp 00002000 08:05 102930                     /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
7fc471272000-7fc471273000 rwxp 00003000 08:05 102930                     /usr/lib/x86_64-linux-gnu/gconv/UTF-16.so
7fc471273000-7fc47127a000 rwxp 00000000 00:00 0
7fc47127a000-7fc471283000 r-xp 00000000 08:05 141797                     /lib/x86_64-linux-gnu/libcrypt-2.15.so
7fc471283000-7fc471483000 ---p 00009000 08:05 141797                     /lib/x86_64-linux-gnu/libcrypt-2.15.so
7fc471483000-7fc471484000 r-xp 00009000 08:05 141797                     /lib/x86_64-linux-gnu/libcrypt-2.15.so
7fc471484000-7fc471485000 rwxp 0000a000 08:05 141797                     /lib/x86_64-linux-gnu/libcrypt-2.15.so
7fc471485000-7fc4714b3000 rwxp 00000000 00:00 0
7fc4714b3000-7fc471551000 r-xp 00000000 08:05 4100                       /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7fc471551000-7fc471751000 ---p 0009e000 08:05 4100                       /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7fc471751000-7fc471753000 r-xp 0009e000 08:05 4100                       /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7fc471753000-7fc471755000 rwxp 000a0000 08:05 4100                       /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
7fc471755000-7fc471756000 rwxp 00000000 00:00 0
7fc471756000-7fc47179b000 r-xp 00000000 08:05 2231                       /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7fc47179b000-7fc47199b000 ---p 00045000 08:05 2231                       /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7fc47199b000-7fc47199d000 r-xp 00045000 08:05 2231                       /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7fc47199d000-7fc47199f000 rwxp 00047000 08:05 2231                       /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
7fc47199f000-7fc4719a0000 rwxp 00000000 00:00 0
7fc4719a0000-7fc4719ae000 r-xp 00000000 08:05 2194                       /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7fc4719ae000-7fc471bad000 ---p 0000e000 08:05 2194                       /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7fc471bad000-7fc471bae000 r-xp 0000d000 08:05 2194                       /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7fc471bae000-7fc471baf000 rwxp 0000e000 08:05 2194                       /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
7fc471baf000-7fc471bd7000 r-xp 00000000 08:05 2203                       /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7fc471bd7000-7fc471dd6000 ---p 00028000 08:05 2203                       /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7fc471dd6000-7fc471dd7000 r-xp 00027000 08:05 2203                       /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7fc471dd7000-7fc471dd8000 rwxp 00028000 08:05 2203                       /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
7fc471dd8000-7fc471ddb000 r-xp 00000000 08:05 155197                     /lib/x86_64-linux-gnu/libkeyutils.so.1.4
7fc471ddb000-7fc471fda000 ---p 00003000 08:05 155197                     /lib/x86_64-linux-gnu/libkeyutils.so.1.4
7fc471fda000-7fc471fdb000 r-xp 00002000 08:05 155197                     /lib/x86_64-linux-gnu/libkeyutils.so.1.4
7fc471fdb000-7fc471fdc000 rwxp 00003000 08:05 155197                     /lib/x86_64-linux-gnu/libkeyutils.so.1.4
7fc471fdc000-7fc471fdf000 r-xp 00000000 08:05 143025                     /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
7fc471fdf000-7fc4721de000 ---p 00003000 08:05 143025                     /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
7fc4721de000-7fc4721df000 r-xp 00002000 08:05 143025                     /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0Aborted (core dumped)

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
senseless
Sr. Member
****
Offline Offline

Activity: 388



View Profile
September 08, 2012, 07:17:00 PM
 #893


Any ideas what may be causing this? Do I need a certain version of amd app sdk to compile?

Code:
7>el\comp\ext-opencl.cpp(111): error C2039: 'clEnqueueMarker' : is not a member of '`global namespace''
7>el\comp\ext-opencl.cpp(111): error C3861: 'clEnqueueMarker': identifier not found
7>el\comp\ext-opencl.cpp(116): error C2039: 'clEnqueueBarrier' : is not a member of '`global namespace''
7>el\comp\ext-opencl.cpp(116): error C3861: 'clEnqueueBarrier': identifier not found
senseless
Sr. Member
****
Offline Offline

Activity: 388



View Profile
September 10, 2012, 04:01:16 AM
 #894


Switched to AMD APP 2.3 and everything compiling fine on opencl now.

the gpu-cuda.cpp file is not added by default under the "GPU Support" (for VS) with current source tree. If anyone is getting linking errors that they can't figure out where they're coming from. Make sure that gpu-cuda.cpp is included in your tree before building.

aspirez
Jr. Member
*
Offline Offline

Activity: 42


View Profile
September 13, 2012, 09:13:50 PM
 #895

@senseless
can you please upload the project somewhere and post the link?  Smiley
senseless
Sr. Member
****
Offline Offline

Activity: 388



View Profile
September 14, 2012, 05:10:02 AM
 #896

@senseless
can you please upload the project somewhere and post the link?  Smiley


In VS2012 it was pretty. Simple you just need to make sure you have the right version of amd app installed.. Then to fix the linker problems for the cuda stuff you need to add an existing file; in this case... gpu-cuda.cpp file to the project. Then just place it with the other gpu- files. Should compile fine.

aspirez
Jr. Member
*
Offline Offline

Activity: 42


View Profile
September 15, 2012, 08:06:50 PM
 #897

I did this, also installed 2.3 version of AMD APP SDK but i received the following exception at the debugger while trying to run with ATi card.

Unhandled exception at 0x74F3B760 (KernelBase.dll) in bitcoin-miner.exe: 0xC06D007E: Module not found (parameters: 0x0025EEDC).
MichaelBliss
Hero Member
*****
Offline Offline

Activity: 511



View Profile
September 26, 2012, 11:45:09 PM
 #898

Forgive me but I'm a complete newb and after an hour going through this thread I'm still very lost..

I've just received a BFL SHA256 Single, have a laptop with linux 12.04 ready to go.  Could someone please explain: What are the steps I need to take to start mining? How do I install and run the ufasoft miner, which pool is easiest to join etc?  I'm hoping someone can post a series of steps I can take and be up and running today. 

Thanks for any help!
K1773R
Legendary
*
Offline Offline

Activity: 1526


/dev/null


View Profile
September 27, 2012, 04:41:47 AM
 #899

Forgive me but I'm a complete newb and after an hour going through this thread I'm still very lost..

I've just received a BFL SHA256 Single, have a laptop with linux 12.04 ready to go.  Could someone please explain: What are the steps I need to take to start mining? How do I install and run the ufasoft miner, which pool is easiest to join etc?  I'm hoping someone can post a series of steps I can take and be up and running today.  

Thanks for any help!

simple answer, read the forums, thats why they exist!
as pool recommendation: EclipseMC

EDIT: u mean ubuntu 12.04 not linux 12.04. this is a completely different thing!

[GPG Public Key]  [Devcoin Builds]  [BBQCoin Builds]  [Multichain Blockexplorer]  [Multichain Blockexplorer - PoS Coins]  [Ufasoft Miner Linux Builds]
BTC/DVC/TRC/FRC: 1K1773RbXRZVRQSSXe9N6N2MUFERvrdu6y ANC/XPM AK1773RTmRKtvbKBCrUu95UQg5iegrqyeA NMC: NK1773Rzv8b4ugmCgX789PbjewA9fL9Dy1 LTC: LKi773RBuPepQH8E6Zb1ponoCvgbU7hHmd EMC: EK1773RxUes1HX1YAGMZ1xVYBBRUCqfDoF BQC: bK1773R1APJz4yTgRkmdKQhjhiMyQpJgfN
MichaelBliss
Hero Member
*****
Offline Offline

Activity: 511



View Profile
September 27, 2012, 09:17:37 AM
 #900

Yes I did mean ubuntu 12.04 not Linux.  I gave up and installed Windows XP on that machine to see if that would be easier... I suppose I'm further along in the process but i've had to re-install windows already after screwing up the system with all the extra .dll's I've had to find to get the various miners I've been trying to work.  Ufasoft seems to crash on my machine, and search as I may I still can't figure out what the exact command line is for starting coin-miner.exe with a bitforce single (I've signed up to a pool)... When I use the syntax previously mentioned, I get an error message, then the program crashes when I try and restart until I reboot..

arr, this is very very frustrating!   6 hours straight trying to get this to work and nothing but the loud sound of the fan on my single working.

Can anyone suggest how I might get started mining with my single?  I don't care which program I use so long as it works..

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 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!