Bitcoin Forum
April 25, 2024, 04:13:44 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 [2063] 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 ... 2557 »
  Print  
Author Topic: NXT :: descendant of Bitcoin - Updated Information  (Read 2761527 times)
BrianNowhere
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile WWW
March 06, 2014, 06:35:21 PM
 #41241

I am interested in helping the testing for the asset exchange but don't know where to start. I'm currently running the NRS 0.8.5 client on a Windows Vista machine. I have not done any experimentation with the AE yet.

Can someone point me in the direction of what I need to do to pitch in with the AE testing?

NXT: 4957831430947123625
Even in the event that an attacker gains more than 50% of the network's computational power, only transactions sent by the attacker could be reversed or double-spent. The network would not be destroyed.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714061624
Hero Member
*
Offline Offline

Posts: 1714061624

View Profile Personal Message (Offline)

Ignore
1714061624
Reply with quote  #2

1714061624
Report to moderator
1714061624
Hero Member
*
Offline Offline

Posts: 1714061624

View Profile Personal Message (Offline)

Ignore
1714061624
Reply with quote  #2

1714061624
Report to moderator
igmaca
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
March 06, 2014, 06:42:51 PM
 #41242

Here is version 2.2 of my Windows/Mac OSX NXT client "NXT Solaris".


Changelog
-Mac OSX version added (source is included in the Windows downloads)
-GUI Performance improvements
-Changed the default testnet address to "http://tn01.nxtsolaris.info:6876/"
-The JCL is no longer needed to compile the source code
-Fixed a bug that prevented sending NXT to accounts without a public key in the BC
-Fixed Bter market data retrieval
-Fixed "secret maps to expected account number" check for secrets with characters beyond ascii
-Added checks for enough funds before broadcasting transactions


Download
64-bit Windows Version: NXTSolaris-v2.2-Win64bit.zip (36.3 MB) – Download here
SHA256 checksum for NXTSolaris-v2.2-Win64bit.zip: BCDC7C27755A138E44AE51FB3F842BB8E12FAC6AF3117F44BB99B9B01B581F95

32-bit Windows Version: NXTSolaris-v2.2-Win32bit.zip (34.3 MB) – Download here
SHA256 checksum for NXTSolaris-v2.2-Win32bit.zip: 0F6851CE16411756EB5ED9ADFBD1AF730CEC0B68D8566660D8A8257C0DF3F7B1

32-bit Mac OSX Version: NXTSolaris-v2.2-OSX32bit.zip (9.5 MB) – Download here
SHA256 checksum for NXTSolaris-v2.2-OSX32bit.zip: 76B416EB3783410E33AC14353501F9FC735863CE725205AE0DF78C1E678F76BD


For screenshots and everything else please visit: http://nxtsolaris.wordpress.com/


Installation
Simply unzip the archive and run the NXTSolarisStarter.exe file.

The current version 2.2 is compatible with the previous versions 2.1.

Roadmap
1.) Move current version of my code to XE5 and release closed source 32-bit and 64-bit versions for Windows. [DONE]
2.) Refactor code to a MVC architecture, so that I can create separate GUIs while using the same version of the business logic code. [DONE]
3.) Create new GUIs for Windows and OS X using the same business logic, but based on the cross-platform Firemonkey libraries. [DONE]
4.) Release Windows version (32 and 64 bit) based on FireMonkey. [DONE]
5.) Implement new features from the TODO list [DONE]
6.) Release source-code for FireMonkey Windows version (February 16th, 2014 latest) [DONE]
7.) Implement new features from the TODO list
8.) OSX compatibility changes
9.) Release OSX version based on FireMonkey.
10.) Release source code for FireMonkey OSX version.


I've reached the end of my roadmap! :-)


TODO list
-Arbitrary message encryption
-Offer a simple and advanced GUI, with the simple GUI targeted at new users



Donations
I hope you like my client and I’d be extremely happy to see some donations for the future of this project!

NXT: 1758531264253431177


very nice
what is the difference between balance and effective balance?
the first shows my balance, the latter shows 0



Fantastic job!!!!  Smiley

some remaining issues

criptsy
poloniex
Password Generator
2-step authentification


Here some open source plug in . Maybe someone can contact the developers of this plug in to adapt them to Nxt if required

Pronounceable Password Generator
Extension Author: Jan Benjamin Engracia, Extension Language: English

This plugin adds a custom password generation algorithm, which generates pronounceable passwords.

The plugin is available here: http://sourceforge.net/projects/pronouncepwgen/ [Downloads]

Readable Passphrase Generator
Extension Author: Murray Grant, Extension Language: English

The Readable Passphrase Generator plugin generates passphrases, which are (mostly) grammatically correct, but nonsensical. These are easy to remember (for humans), but difficult to guess (for humans and computers).

The plugin is available here: http://readablepassphrase.codeplex.com/

WordSequence Generator
Extension Author: fireOut, Extension Language: English

The WordSequence plugin generates passphases consisting of words.

The plugin is available here: http://sourceforge.net/projects/kpwordsequence/

Here another one TFA. Maybe someone can contact the developers of this plug in to adapt them to Nxt if required

http://keepass.info/plugins.html#keeotp

OtpKeyProv
Plugin Author: Dominik Reichl, Plugin Language: English

OtpKeyProv is a key provider based on one-time passwords. After protecting your database using this plugin, you need to generate and enter one-time passwords in order to open your database.

All generator tokens that follow the OATH HOTP standard (RFC 4226) are supported.

Download plugin: [v2.2 for KeePass 2.20 and higher]
Download source code: [v2.2 for KeePass 2.20 and higher]

If you instead want KeePass to generate one-time passwords, see the {HMACOTP} placeholder. For generating time-based OTPs, see the KeeOtp and Tray TOTP plugins.

KeeChallenge
Plugin Author: Ben Rush, Plugin Language: English

Allows to protect KeePass databases using challenge-response authentication.

The plugin is available here: [KeeChallenge Plugin Website].

KeeOtp
Plugin Author: Devin Martin, Plugin Language: English

This is a KeePass plugin that adds support for two factor authentication into other systems using TOTP (Timed One Time Passwords). It stores TOTP secret keys in the KeePass database and generates TOTP codes from the key within KeePass.

KeeOtp is compatible with Google's 2-Step Verification and Amazon AWS MFA. It will work with most other RFC 6238 compliant TOTP implementations as well.

Website: [https://bitbucket.org/devinmartin/keeotp/wiki/Home]
Downloads: [https://bitbucket.org/devinmartin/keeotp/downloads]

KeePass has a built-in placeholder to generate HOTPs (but not TOTPs), see {HMACOTP}.

If you instead want to protect your KeePass database using one-time passwords (i.e. one-time passwords need to be generated and entered in order to open your database), see the OtpKeyProv plugin.

Tray TOTP
Plugin Author: Alexandre Gravel, Plugin Language: English

Time-based One-Time Password plugin to enable 2-step authentification (supports Google and Dropbox) by generating TOTPs from the KeePass tray icon. This plugin also provides a custom column to display and/or generate TOTPs. Auto-Type is also supported when the specified custom field is used in a keystroke sequence.

Website: [https://sourceforge.net/projects/traytotp-kp2/]
Downloads: [https://sourceforge.net/projects/traytotp-kp2/files/]

KeePass has a built-in placeholder to generate HOTPs (but not TOTPs), see {HMACOTP}.

If you instead want to protect your KeePass database using one-time passwords (i.e. one-time passwords need to be generated and entered in order to open your database), see the OtpKeyProv plugin.
Emule
Full Member
***
Offline Offline

Activity: 168
Merit: 100


View Profile
March 06, 2014, 06:48:06 PM
 #41243

Here is version 2.2 of my Windows/Mac OSX NXT client "NXT Solaris".


Changelog
-Mac OSX version added (source is included in the Windows downloads)
-GUI Performance improvements
-Changed the default testnet address to "http://tn01.nxtsolaris.info:6876/"
-The JCL is no longer needed to compile the source code
-Fixed a bug that prevented sending NXT to accounts without a public key in the BC
-Fixed Bter market data retrieval
-Fixed "secret maps to expected account number" check for secrets with characters beyond ascii
-Added checks for enough funds before broadcasting transactions


Download
64-bit Windows Version: NXTSolaris-v2.2-Win64bit.zip (36.3 MB) – Download here
SHA256 checksum for NXTSolaris-v2.2-Win64bit.zip: BCDC7C27755A138E44AE51FB3F842BB8E12FAC6AF3117F44BB99B9B01B581F95

32-bit Windows Version: NXTSolaris-v2.2-Win32bit.zip (34.3 MB) – Download here
SHA256 checksum for NXTSolaris-v2.2-Win32bit.zip: 0F6851CE16411756EB5ED9ADFBD1AF730CEC0B68D8566660D8A8257C0DF3F7B1

32-bit Mac OSX Version: NXTSolaris-v2.2-OSX32bit.zip (9.5 MB) – Download here
SHA256 checksum for NXTSolaris-v2.2-OSX32bit.zip: 76B416EB3783410E33AC14353501F9FC735863CE725205AE0DF78C1E678F76BD


For screenshots and everything else please visit: http://nxtsolaris.wordpress.com/


Installation
Simply unzip the archive and run the NXTSolarisStarter.exe file.

The current version 2.2 is compatible with the previous versions 2.1.

Roadmap
1.) Move current version of my code to XE5 and release closed source 32-bit and 64-bit versions for Windows. [DONE]
2.) Refactor code to a MVC architecture, so that I can create separate GUIs while using the same version of the business logic code. [DONE]
3.) Create new GUIs for Windows and OS X using the same business logic, but based on the cross-platform Firemonkey libraries. [DONE]
4.) Release Windows version (32 and 64 bit) based on FireMonkey. [DONE]
5.) Implement new features from the TODO list [DONE]
6.) Release source-code for FireMonkey Windows version (February 16th, 2014 latest) [DONE]
7.) Implement new features from the TODO list
8.) OSX compatibility changes
9.) Release OSX version based on FireMonkey.
10.) Release source code for FireMonkey OSX version.


I've reached the end of my roadmap! :-)


TODO list
-Arbitrary message encryption
-Offer a simple and advanced GUI, with the simple GUI targeted at new users



Donations
I hope you like my client and I’d be extremely happy to see some donations for the future of this project!

NXT: 1758531264253431177


very nice
what is the difference between balance and effective balance?
the first shows my balance, the latter shows 0



Fantastic job!!!!  Smiley

some remaining issues

criptsy
poloniex
Password Generator
2-step authentification


Here some open source plug in . Maybe someone can contact the developers of this plug in to adapt them to Nxt if required

Pronounceable Password Generator
Extension Author: Jan Benjamin Engracia, Extension Language: English

This plugin adds a custom password generation algorithm, which generates pronounceable passwords.

The plugin is available here: http://sourceforge.net/projects/pronouncepwgen/ [Downloads]

Readable Passphrase Generator
Extension Author: Murray Grant, Extension Language: English

The Readable Passphrase Generator plugin generates passphrases, which are (mostly) grammatically correct, but nonsensical. These are easy to remember (for humans), but difficult to guess (for humans and computers).

The plugin is available here: http://readablepassphrase.codeplex.com/

WordSequence Generator
Extension Author: fireOut, Extension Language: English

The WordSequence plugin generates passphases consisting of words.

The plugin is available here: http://sourceforge.net/projects/kpwordsequence/

Here another one TFA. Maybe someone can contact the developers of this plug in to adapt them to Nxt if required

http://keepass.info/plugins.html#keeotp

OtpKeyProv
Plugin Author: Dominik Reichl, Plugin Language: English

OtpKeyProv is a key provider based on one-time passwords. After protecting your database using this plugin, you need to generate and enter one-time passwords in order to open your database.

All generator tokens that follow the OATH HOTP standard (RFC 4226) are supported.

Download plugin: [v2.2 for KeePass 2.20 and higher]
Download source code: [v2.2 for KeePass 2.20 and higher]

If you instead want KeePass to generate one-time passwords, see the {HMACOTP} placeholder. For generating time-based OTPs, see the KeeOtp and Tray TOTP plugins.

KeeChallenge
Plugin Author: Ben Rush, Plugin Language: English

Allows to protect KeePass databases using challenge-response authentication.

The plugin is available here: [KeeChallenge Plugin Website].

KeeOtp
Plugin Author: Devin Martin, Plugin Language: English

This is a KeePass plugin that adds support for two factor authentication into other systems using TOTP (Timed One Time Passwords). It stores TOTP secret keys in the KeePass database and generates TOTP codes from the key within KeePass.

KeeOtp is compatible with Google's 2-Step Verification and Amazon AWS MFA. It will work with most other RFC 6238 compliant TOTP implementations as well.

Website: [https://bitbucket.org/devinmartin/keeotp/wiki/Home]
Downloads: [https://bitbucket.org/devinmartin/keeotp/downloads]

KeePass has a built-in placeholder to generate HOTPs (but not TOTPs), see {HMACOTP}.

If you instead want to protect your KeePass database using one-time passwords (i.e. one-time passwords need to be generated and entered in order to open your database), see the OtpKeyProv plugin.

Tray TOTP
Plugin Author: Alexandre Gravel, Plugin Language: English

Time-based One-Time Password plugin to enable 2-step authentification (supports Google and Dropbox) by generating TOTPs from the KeePass tray icon. This plugin also provides a custom column to display and/or generate TOTPs. Auto-Type is also supported when the specified custom field is used in a keystroke sequence.

Website: [https://sourceforge.net/projects/traytotp-kp2/]
Downloads: [https://sourceforge.net/projects/traytotp-kp2/files/]

KeePass has a built-in placeholder to generate HOTPs (but not TOTPs), see {HMACOTP}.

If you instead want to protect your KeePass database using one-time passwords (i.e. one-time passwords need to be generated and entered in order to open your database), see the OtpKeyProv plugin.

 Roll Eyes
xychix
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
March 06, 2014, 06:48:13 PM
 #41244

Is there already a piece of code that can generate an account number from an secret passphrase in another language than Java?
Like the offline paperwallet generators for BTC
bitcoinpaul
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1000



View Profile
March 06, 2014, 06:49:48 PM
Last edit: March 06, 2014, 07:01:10 PM by bitcoinpaul
 #41245

Am back from Hong Kong now (wasn't online at all for two days so have been busy trying catch up all afternoon).


We missed you!

or could we revisit the idea about the possibiliy of a TF algorithm that would support 2 or 3 different accounts that could forge the next block?  and possibly make it such that if an account forged a block then the algorithm would reduce its potential for the next block?  just throwing out ideas.  

Could anybody run the forging simulator with forging groups? It was BCNext's idea. And throw in some penalization, maybe.

antanst
Sr. Member
****
Offline Offline

Activity: 294
Merit: 260


View Profile
March 06, 2014, 06:51:39 PM
 #41246

I am interested in helping the testing for the asset exchange but don't know where to start. I'm currently running the NRS 0.8.5 client on a Windows Vista machine. I have not done any experimentation with the AE yet.

Can someone point me in the direction of what I need to do to pitch in with the AE testing?

Sure. For a quick start, use this web client (do not use real account!)

http://nxtra.org/nxt-client/

Ask for some testNXT's here:

https://forums.nxtcrypto.org/viewtopic.php?f=2&t=832

And use them to issue assets, and to execute ask/bid orders etc.

bitcoinpaul
Hero Member
*****
Offline Offline

Activity: 910
Merit: 1000



View Profile
March 06, 2014, 06:54:01 PM
 #41247

Doctorevil seems pretty good and he mentioned before that he could help as a consultant. https://nextcoin.org/index.php/topic,3884.msg36769.html#msg36769

Ricot and Broodyrookie seem pretty good too.


Quote
I don't have the time to contribute consistently, although I'd be happy to be an adviser.

doctorevil would be a perfect fit. Any response yet?


I am waiting to hear back from a couple of guys that I have contacted who are hghly regarded in the Bitcoin world as cryptographers

Keep us updated!
antanst
Sr. Member
****
Offline Offline

Activity: 294
Merit: 260


View Profile
March 06, 2014, 06:54:15 PM
 #41248

Is there already a piece of code that can generate an account number from an secret passphrase in another language than Java?
Like the offline paperwallet generators for BTC

Not anything I'm aware of. I'm building such a code in JS, however it's on low priority right now as I'm working on the UI of the asset gateway.

marcus03
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
March 06, 2014, 07:07:21 PM
 #41249


very nice
what is the difference between balance and effective balance?
the first shows my balance, the latter shows 0


Effective balance is the amount of NXT you have that have at least 1440 confirmations. This is the balance that is used for forging.
ferment
Full Member
***
Offline Offline

Activity: 168
Merit: 100


IDEX - LIVE Real-time DEX


View Profile
March 06, 2014, 07:19:12 PM
 #41250

Who the f*** is panda.nxtbase.com and why does he broadcast blocks every hour or so that get "Failed to accept block XXXXX"

Can't blacklist this shitty node.

This is going on for days..
You can now blacklist in nxt.properties:

# Known bad peers to be blacklisted
nxt.knownBlacklistedPeers=


Thank you, will try!

This is a standard node that I manage. It's running 0.7.6 which is the current master branch of NRS. If it's causing a problem, then it's a bug in NXT and should be reported as such. I'm happy to help with debugging if JLP needs anything off that machine.

Blacklisting legitimate nodes won't make a more robust system. Changing communicationLoggingMask should eliminate the messages?

Problematic legitimate nodes are symptoms and warrant further investigation.

marcus03
Full Member
***
Offline Offline

Activity: 224
Merit: 100


View Profile
March 06, 2014, 07:32:19 PM
 #41251


very nice
what is the difference between balance and effective balance?
the first shows my balance, the latter shows 0


Effective balance is the amount of NXT you have that have at least 1440 confirmations. This is the balance that is used for forging.

thanks,
it is odd though. i received the test nxt two days ago
i will watch it and see what happens
5728597073699734894

where do you want bug reports posted?

Here: https://forums.nxtcrypto.org/viewtopic.php?f=46&t=519&p=4247#p4247

or if you prefer, by email to: nxtsolaris@gmail.com


5728597073699734894 is the account number? It doesn't seem to exist.
Damelon
Legendary
*
Offline Offline

Activity: 1092
Merit: 1010



View Profile
March 06, 2014, 07:42:37 PM
 #41252

https://bitcointalk.org/index.php?topic=501963.msg5525645#msg5525645

BTC38 just added a shitload of other coins to the list, including Vertcoin, which has a very good swarm, too (As you can see by the quickly rising votes there)
If you haven't yet, please vote. It's a very bit exchange.

Member of the Nxt Foundation | Donations: NXT-D6K7-MLY6-98FM-FLL5T
Join Nxt Slack! https://nxtchat.herokuapp.com/
Founder of Blockchain Workspace | Personal Site & Blog
tyme
Member
**
Offline Offline

Activity: 64
Merit: 10


View Profile
March 06, 2014, 07:46:29 PM
 #41253

We just added NxT to AltCoins Market. There you will find live statistics and a currency converter to calculate your NxT to other altcoins. You will be able to setup an alarm to email you if the price reaches a level and of course we have live charts as well (area chart for unregistered members and candlestick for members).


http://www.altcoinsmarket.info/Home/NXTBTC

We hope you like it! If you have any suggestion you can contact us on Twitter

Mises_77
Member
**
Offline Offline

Activity: 111
Merit: 10


View Profile
March 06, 2014, 07:47:55 PM
 #41254

Price   Amount(NXT)   Total(BTC)
0.00007600   500,000.000   38.00000000

Sitting on Bter right now Who wants it?
mcjavar
Hero Member
*****
Offline Offline

Activity: 784
Merit: 500


View Profile
March 06, 2014, 07:49:04 PM
 #41255

https://bitcointalk.org/index.php?topic=501963.msg5525645#msg5525645

BTC38 just added a shitload of other coins to the list, including Vertcoin, which has a very good swarm, too (As you can see by the quickly rising votes there)
If you haven't yet, please vote. It's a very bit exchange.

"I'll go on spending time on NXT as it's a bit complex for me. If you have any data related to NXT or XCP, please post them here or on our own forum(prefered, thanks!)."
opticalcarrier
Full Member
***
Offline Offline

Activity: 238
Merit: 100



View Profile
March 06, 2014, 07:51:18 PM
 #41256

https://bitcointalk.org/index.php?topic=501963.msg5525645#msg5525645

BTC38 just added a shitload of other coins to the list, including Vertcoin, which has a very good swarm, too (As you can see by the quickly rising votes there)
If you haven't yet, please vote. It's a very bit exchange.

I voted for NXT, and wrote them a message in the thread letting them know I would assist them in integrating NXT.
punkrock
Hero Member
*****
Offline Offline

Activity: 808
Merit: 1011



View Profile
March 06, 2014, 08:06:48 PM
 #41257

@marcus03: Great job. I will add it to NXTclient.net

@SkillRoad:

There is a very hot place in Hell for overquoters. Angry
mcjavar
Hero Member
*****
Offline Offline

Activity: 784
Merit: 500


View Profile
March 06, 2014, 08:12:58 PM
 #41258

https://bitcointalk.org/index.php?topic=501963.msg5525645#msg5525645

BTC38 just added a shitload of other coins to the list, including Vertcoin, which has a very good swarm, too (As you can see by the quickly rising votes there)
If you haven't yet, please vote. It's a very bit exchange.

I voted for NXT, and wrote them a message in the thread letting them know I would assist them in integrating NXT.

Thank you optical!
Eadeqa
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
March 06, 2014, 08:16:25 PM
 #41259


 I also believe the seed string of characters used should not be a fixed string, it should be random as should your 'allowedCharacters' variable in the sample you posted.


why? I don't think it makes any difference.



Nomi, Shan, Adnan, Noshi, Nxt, Adn Khn
NXT-GZYP-FMRT-FQ9K-3YQGS
https://github.com/Lafihh/encryptiontest
mcjavar
Hero Member
*****
Offline Offline

Activity: 784
Merit: 500


View Profile
March 06, 2014, 08:22:42 PM
 #41260

Nxt :: Asset Exchange Testing
Let´s get things organized!

I´ve created a project for Nxt AE on TestPad.

https://nxt.ontestpad.com

Anyone willing to test AE please join the site so I can add you to the project.

What is TestPad for and why to join?

We can

- write test cases
- run tests step-by-step
- track tests step-by-step
- track bugs
- track bugfixing progress


Please PM me your username after registration.

Edit: TestPad is charging $9/month for every new user. I will pay for the subscription from my own pocket, so please, only join if you are serious about testing.


Still looking for some candidates WHO ARE ABLE TO WRITE TESTCASES!
Pages: « 1 ... 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 [2063] 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 ... 2557 »
  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!