Sheng Qiang Xu | 1 Feb 03:05
Picon
Favicon

Re: I can only input a character with java.lang.System.console().readline() in Chinese or Japanese language

Thanks Chris, I'll have a try.

Best Regards
--------------------
Sean

Chris Clark ---2012-02-01 00:52:35---The screen shot (rather than a copy/paste) was very useful. The good

          Chris Clark <Chris.Clark <at> actian.com>

          2012-02-01 00:51


To

jython-users <at> lists.sourceforge.net

cc


Subject

Re: [Jython-users] I can only input a character with java.lang.System.console().readline() in Chinese or Japanese language

The screen shot (rather than a copy/paste) was very useful. The good
news is that I know what you want/are trying to do.

You want to use the Microsoft CMD window to run console Jython scripts
with a Chinese locale (cp936, see
http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756%28v=vs.85%29.aspx 
and http://en.wikipedia.org/wiki/Code_page_936 ).


The bad news is that it is not possible. The Microsoft CMD does NOT
support UTF8, you simply can't use utf8 reliably in a CMD window. You
really want cp936 support (to match the desktop locale settings) but
Jython does NOT support CJK either (http://www.jython.org/faq3.html 
claims it would but it was not implemented, see
http://bugs.jython.org/issue1066 for more info, the good news is that a
future release should have something).

I did knock up an NIO based codec (very simply it worked fine for
Japanese, it would take 2 mins to make a cp936 one), there was no
interest at the time, see
http://article.gmane.org/gmane.comp.lang.jython.user/8665/match=jython+2.5.1+various+encodings+support+lookuperror+unknown


The options as I see it are:

 * set the encoding to cp936 (which is what your desktop is using), and
   create a cp936 codec (based on my nio encoding experiment or some
   other mechanism, see last two options)
 * use jythonconsole (it looks cool, I've not had chance to play with
   it yet) with utf8, http://code.google.com/p/jythonconsole/
 * use mintty, I've had mixed success (things work but CTRL-C behavior
   is odd) using this with utf8 applications under windows but I've not
   tried jython/java apps http://code.google.com/p/mintty/
 * pay someone to add CJK support to the version of Jython you are using
 * add CJK support yourself to the version of Jython you are using


Chris


On 1/31/2012 2:48 AM, Sheng Qiang Xu wrote:
>
> Philip,
>
> Thanks for your reply.
> I tried to force the encoding, but not work yet.
> Here is what I tried. My OS Locale is Chinese. Before I forced the
> encoding value, it is already utf-8.
>
>
> Best Regards
> --------------------
> Sean
>
> Inactive hide details for Philip Jenvey ---2012-01-31 11:47:30---On
> Jan 17, 2012, at 7:17 PM, Sheng Qiang Xu wrote:Philip Jenvey
> ---2012-01-31 11:47:30---On Jan 17, 2012, at 7:17 PM, Sheng Qiang Xu
> wrote:
>
>                 *Philip Jenvey <pjenvey <at> underboss.org>*
>
>                 2012-01-31 11:47
>
>
>
> To
>
> Sheng Qiang Xu/China/IBM <at> IBMCN
>
> cc
>
> jython-users users <jython-users <at> lists.sourceforge.net>
>
> Subject
>
> Re: [Jython-users] I can only input a character with
> java.lang.System.console().readline() in Chinese or Japanese language
>
>
>
>
>
> On Jan 17, 2012, at 7:17 PM, Sheng Qiang Xu wrote:
>
> > I'm using jython 2.5.1 and my OS is windows XP and language is Chinese.
> >
> > When using java.lang.System.console().readline() to input text, I
> can only input a character (the behavior seems like pressing enter)
> and the console jumps to next line.
> >
> > Could somebody pls help to take a look at this?
> > Thanks.
>
> You probably have an incorrect input encoding value set on your platform.
>
> You can see what Jython uses for its input encoding by looking at the
> value of sys.stdin.encoding. You can try forcing it to say UTF-8 by
> passing "-Dpython.console.encoding=UTF-8" to Jython
>
> --
> Philip Jenvey
>


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Jython-users mailing list
Jython-users <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-users


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Jython-users mailing list
Jython-users <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-users
Chris Clark | 3 Feb 00:57
Favicon

import failures of core java libraries with Jython 2.2.1

I've discovered an odd Jython 2.2.1 specific problem, importing java.sql 
or java.awt fails.

Jython 2.2rc1 doesn't seem to have this problem (at least for java.sql).

Jython 2.5.2 works fine for both too.

I breifly tried to use 
org.python.core.JavaImporter().load_module('java.sql'), whilst this 
doesn't error, it doesn't seem to offer access to those libs.

The awt problem appears to show a bug with the "pawt" package that is 
shipped with Jython.

Any ideas? Any workarounds or tips on how to use JavaImporter?

Sometimes it is possible to "import java" and then access "java.sql", 
etc. but this doesn't work here either.

Here is a sample session from a Windows 7 machine:

    C:\jython2.2.1>java -jar jython.jar
    Jython 2.2.1 on java1.6.0_21
    Type "copyright", "credits" or "license" for more information.
     >>> import java
     >>> import java.sql
    Traceback (innermost last):
       File "<console>", line 1, in ?
    ImportError: no module named sql
     >>> import java.math
     >>> import java.lang
     >>> import java.util
     >>> import java.awt
    Traceback (innermost last):
       File "<console>", line 1, in ?
    ImportError: no module named awt
     >>> import pawt
    Traceback (innermost last):
       File "<console>", line 1, in ?
       File "C:\jython2.2.1\jython.jar\Lib/pawt/__init__.py", line 2, in ?
    ImportError: cannot import name awt

Chris

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
claudef | 3 Feb 01:37
Picon

Re: import failures of core java libraries with Jython 2.2.1

Dear Chris,

I often use this is  classPathHacker code when some Java classes are not loading correctly through the standard Jython class loader
and   sys.path.append("...")  statement.

Try this:  

import sys
from org.python.util import PythonObjectInputStream
from org.python.core import *
from java.net import *
from java.io import *
from java.lang import *
sysProp = System.getProperties()
userdir = sysProp.getProperty("user.dir")
userdir = userdir.replace("\\", "/")  
try:
    # dynamically adds CLASSPATH for Java Class Loader
    myclassloader = classPathHacker()        
    url_a = myclassloader.addFile(userdir + "/some_package_path/some_package.jar")
except Exception, e:
   print ("ClassPathHacker Load .jar Error:" + str(e))

import Java stuff now..


The class file:

import java.lang.reflect.Method
from java.io import File as javaFile
from java.net import URL
from java.net import URLClassLoader
from java.lang import Class as javaClass
from java.lang import ClassLoader as javaClassLoader
from java.lang import Object as javaObject
from java.lang import System
import jarray

class classPathHacker():
       
    def __init__(self):
        # init actions
        self.DEBUG = 0                
        pass        

    def addURL (self, u):
            DEBUG = 0    
        ##################################
        # Purpose: Call this with u= URL for
        #       the new Class/jar to be loaded
        #################################  
        parameters = jarray.array([URL], javaClass)
        sysloader =  javaClassLoader.getSystemClassLoader()
        sysclass = URLClassLoader
        method = sysclass.getDeclaredMethod("addURL", parameters)
        a = method.setAccessible(1)
        jar_a = jarray.array([u], javaObject)
        if DEBUG: print ("jar added is : " + str(jar_a))
        b = method.invoke(sysloader, jar_a)
        sysProp = System.getProperties()
        if DEBUG: print ("------- Resulting CLASSPATH modified by classPathHacker-------" + "\n")
        if DEBUG: print (sysProp.getProperty("java.class.path"))
        return u
       
    def addFile (self, s):
        #############################################
        # Purpose: If adding a file/jar call this first
        #       with s = path_to_jar
        #############################################
        # make a URL out of 's'
        f = javaFile(s)
        u = f.toURL()
        a = self.addURL(u)
        return a        
       
    if __name__ == "__main__":
            DEBUG = 0    
        if DEBUG: print "callPathHacker is active"
       

Regards,
Claude

Claude Falbriard
Certified IT Specialist L2 - Middleware
AMS Hortolândia / SP - Brazil
phone:    +55 13 9760 0453
cell:         +55 13 8117 3316
e-mail:    claudef <at> br.ibm.com




From:        Chris Clark <Chris.Clark <at> actian.com>
To:        Jython-users <at> lists.sourceforge.net
Date:        02/02/2012 21:57
Subject:        [Jython-users] import failures of core java libraries with Jython        2.2.1



I've discovered an odd Jython 2.2.1 specific problem, importing java.sql
or java.awt fails.

Jython 2.2rc1 doesn't seem to have this problem (at least for java.sql).

Jython 2.5.2 works fine for both too.

I breifly tried to use
org.python.core.JavaImporter().load_module('java.sql'), whilst this
doesn't error, it doesn't seem to offer access to those libs.

The awt problem appears to show a bug with the "pawt" package that is
shipped with Jython.

Any ideas? Any workarounds or tips on how to use JavaImporter?

Sometimes it is possible to "import java" and then access "java.sql",
etc. but this doesn't work here either.

Here is a sample session from a Windows 7 machine:

   C:\jython2.2.1>java -jar jython.jar
   Jython 2.2.1 on java1.6.0_21
   Type "copyright", "credits" or "license" for more information.
    >>> import java
    >>> import java.sql
   Traceback (innermost last):
      File "<console>", line 1, in ?
   ImportError: no module named sql
    >>> import java.math
    >>> import java.lang
    >>> import java.util
    >>> import java.awt
   Traceback (innermost last):
      File "<console>", line 1, in ?
   ImportError: no module named awt
    >>> import pawt
   Traceback (innermost last):
      File "<console>", line 1, in ?
      File "C:\jython2.2.1\jython.jar\Lib/pawt/__init__.py", line 2, in ?
   ImportError: cannot import name awt


Chris


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Jython-users mailing list
Jython-users <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-users


------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Jython-users mailing list
Jython-users <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-users
Chris Clark | 3 Feb 19:10
Favicon

Re: import failures of core java libraries with Jython 2.2.1

Thanks for taking a look Claude, were you able to use your class path 
hacker to import the core libraries I was unable to load? If so, can you 
show a demo so I can see what you did.

I've a similar class path hacker in jyjdbc which works for the 2.2 and 
2.5 series (I posted something a while back to the list as the Jython 
book version doesn't work on all versions of 2.5.*) so I'll probably end 
up using that if this is a classpath issue.

One interesting discovery is that whilst awt fails to import, there 
appears to be a way to make it work (I saw some code in 
http://code.google.com/p/jythonconsole/ which inspired the following 
kludge):

    C:\jythonconsole_svnhg>java -jar c:\jython2.2.1\jython.jar
    Jython 2.2.1 on java1.6.0_21
    Type "copyright", "credits" or "license" for more information.
     >>> import java.awt
    Traceback (innermost last):
       File "<console>", line 1, in ?
    ImportError: no module named awt
     >>> from java.awt import Color, Font, Point
     >>> import java.awt
     >>>

NOTE the second attempt to import awt works fine :-S

This then appears to allow import of pawt too. Similarly something can 
be done for sql too:

     >>> import java.sql
    Traceback (innermost last):
       File "<console>", line 1, in ?
    ImportError: no module named sql
     >>> from java.sql import Types
     >>> import java.sql
     >>>

That also works! I'll probably go with redundant imports as a workaround 
unless anyone has ideas/comments.

Thanks

Chris

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
claudef | 3 Feb 19:41
Picon

Re: import failures of core java libraries with Jython 2.2.1

Dear Chris,

The present "classPathHack" has nothing to do with the Jython language, its a tweak for the Java classpath itself, which allows to dynamically append a .jar file after the JVM was already initialized. It fixes a few of the classes in Java that might show problems using reflection. This classPathHacker code is well known under Java, I simply rewrote it in a Jython syntax.

If the hack did not work, the issue relates clearly to class loader of the Jython 2.2.1 version. Hope the work-around with the redundant import you found, gives you a chance to live with the problem.  

Regards,
Claude


Claude Falbriard
Certified IT Specialist L2 - Middleware
AMS Hortolândia / SP - Brazil
phone:    +55 13 9760 0453
cell:         +55 13 8117 3316
e-mail:    claudef <at> br.ibm.com




From:        Chris Clark <Chris.Clark <at> actian.com>
To:        claudef <at> br.ibm.com
Cc:        Jython-users <at> lists.sourceforge.net
Date:        03/02/2012 16:10
Subject:        Re: [Jython-users] import failures of core java libraries with Jython 2.2.1



Thanks for taking a look Claude, were you able to use your class path
hacker to import the core libraries I was unable to load? If so, can you
show a demo so I can see what you did.

I've a similar class path hacker in jyjdbc which works for the 2.2 and
2.5 series (I posted something a while back to the list as the Jython
book version doesn't work on all versions of 2.5.*) so I'll probably end
up using that if this is a classpath issue.

One interesting discovery is that whilst awt fails to import, there
appears to be a way to make it work (I saw some code in
http://code.google.com/p/jythonconsole/ which inspired the following
kludge):

   C:\jythonconsole_svnhg>java -jar c:\jython2.2.1\jython.jar
   Jython 2.2.1 on java1.6.0_21
   Type "copyright", "credits" or "license" for more information.
    >>> import java.awt
   Traceback (innermost last):
      File "<console>", line 1, in ?
   ImportError: no module named awt
    >>> from java.awt import Color, Font, Point
    >>> import java.awt
    >>>


NOTE the second attempt to import awt works fine :-S

This then appears to allow import of pawt too. Similarly something can
be done for sql too:

    >>> import java.sql
   Traceback (innermost last):
      File "<console>", line 1, in ?
   ImportError: no module named sql
    >>> from java.sql import Types
    >>> import java.sql
    >>>

That also works! I'll probably go with redundant imports as a workaround
unless anyone has ideas/comments.

Thanks

Chris


------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Jython-users mailing list
Jython-users <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-users


------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
_______________________________________________
Jython-users mailing list
Jython-users <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jython-users
Greg Hellings | 4 Feb 18:35
Picon

modjy question

I'm trying to get modjy up and running using the basic instructions at
http://www.jython.org/jythonbook/en/1.0/SimpleWebApps.html. I have now
tried the same files and settings on both Glassfish 3.1.1 and JBoss AS
7. Both of them give me the following exception which is
indecipherable to me:

Traceback (most recent call last):
  File "/home/greg/Projects/glassfish3/glassfish/domains/domain1/eclipseApps/web2py-bridge/WEB-INF/lib-python/Lib.zip/modjy/modjy.py",
line 80, in service
  File "/home/greg/Projects/glassfish3/glassfish/domains/domain1/eclipseApps/web2py-bridge/WEB-INF/lib-python/Lib.zip/modjy/modjy.py",
line 76, in service
  File "/home/greg/Projects/glassfish3/glassfish/domains/domain1/eclipseApps/web2py-bridge/WEB-INF/lib-python/Lib.zip/modjy/modjy.py",
line 103, in dispatch_to_application
  File "/home/greg/Projects/glassfish3/glassfish/domains/domain1/eclipseApps/web2py-bridge/WEB-INF/lib-python/Lib.zip/modjy/modjy.py",
line 121, in raise_exc
modjy.modjy_exceptions.ApplicationException: Invalid placeholder in
string: line 9, col 5724
	at org.python.core.PyException.fillInStackTrace(PyException.java:70)
	at java.lang.Throwable.<init>(Throwable.java:198)
	at java.lang.Exception.<init>(Exception.java:46)
...

Can anyone give me an idea what is going wrong here or what this
message means? I thought at first it might have something to do with
JBoss AS 7, since it is mentioned in the jython Book as having some
slight differences from Glassfish and other applications. However,
Glassfish is giving me the same error.

Any pointers would be most welcome.

--Greg

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
Alan Kennedy | 6 Feb 21:07
Favicon

Re: modjy question

[Greg]
> modjy.modjy_exceptions.ApplicationException: Invalid placeholder in
> string: line 9, col 5724
>        at org.python.core.PyException.fillInStackTrace(PyException.java:70)
>        at java.lang.Throwable.<init>(Throwable.java:198)
>        at java.lang.Exception.<init>(Exception.java:46)
> ...

Sorry for the late reply: I've been on vacation.

This looks like an exception while reporting an exception.

The error occurs while adding the java stack trace to the python
exception. The code in question is

    public Throwable fillInStackTrace() {
        return Options.includeJavaStackInExceptions ?
super.fillInStackTrace() : this;
    }

If you set the "python.options.includeJavaStackInExceptions" value to
"false" in the registry file, this should stop jython trying to
include the problematic stack trace, and reveal the real python
exception, if that is indeed the problem.

Alan.

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
Greg Hellings | 6 Feb 21:37
Picon

Re: modjy question

Alan,

Thanks for the reply.

On Mon, Feb 6, 2012 at 2:07 PM, Alan Kennedy <jython-dev <at> xhaus.com> wrote:
> [Greg]
>> modjy.modjy_exceptions.ApplicationException: Invalid placeholder in
>> string: line 9, col 5724
>>        at org.python.core.PyException.fillInStackTrace(PyException.java:70)
>>        at java.lang.Throwable.<init>(Throwable.java:198)
>>        at java.lang.Exception.<init>(Exception.java:46)
>> ...
>
> Sorry for the late reply: I've been on vacation.
>
> This looks like an exception while reporting an exception.
>
> The error occurs while adding the java stack trace to the python
> exception. The code in question is
>
>    public Throwable fillInStackTrace() {
>        return Options.includeJavaStackInExceptions ?
> super.fillInStackTrace() : this;
>    }
>
> If you set the "python.options.includeJavaStackInExceptions" value to
> "false" in the registry file, this should stop jython trying to
> include the problematic stack trace, and reveal the real python
> exception, if that is indeed the problem.

I'm not sure if I'm getting the Registry file correct. Currently I
have tried setting that argument in:
web.xml as a parameter to modjy
In a file named 'registry' that is a sibling of jython.jar in WEB-INF/lib
In a file named 'registry' this is a sibling of Lib.xip in WEB-INF/lib-python

So far none of those have altered the behavior of the servlet. Is
there somewhere else magic that ought to put my registry file?

--Greg

>
> Alan.

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
Alan Kennedy | 7 Feb 00:28
Favicon

Re: modjy question

[Greg]
> I'm not sure if I'm getting the Registry file correct. Currently I
> have tried setting that argument in:
> web.xml as a parameter to modjy
> In a file named 'registry' that is a sibling of jython.jar in WEB-INF/lib
> In a file named 'registry' this is a sibling of Lib.xip in WEB-INF/lib-python
>
> So far none of those have altered the behavior of the servlet. Is
> there somewhere else magic that ought to put my registry file?

Hi Greg,

Sorry, I should have also pointed out that you can set these options
directly in the web.xml file.

Adding this to your web.xml should work.

    <init-param>
      <param-name>python.options.includeJavaStackInExceptions</param-name>
      <param-value>false</param-value>
    </init-param>

All options that can be set in the registry file can also be specified
in the web.xml, as described here

http://opensource.xhaus.com/projects/modjy/wiki/ModjyConfiguration

Alan.

------------------------------------------------------------------------------
Try before you buy = See our experts in action!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-dev2
Greg Hellings | 7 Feb 01:18
Picon

Re: modjy question

On Mon, Feb 6, 2012 at 5:28 PM, Alan Kennedy <jython-dev <at> xhaus.com> wrote:
>
> Hi Greg,
>
> Sorry, I should have also pointed out that you can set these options
> directly in the web.xml file.
>
> Adding this to your web.xml should work.
>
>    <init-param>
>      <param-name>python.options.includeJavaStackInExceptions</param-name>
>      <param-value>false</param-value>
>    </init-param>
>
> All options that can be set in the registry file can also be specified
> in the web.xml, as described here
>
> http://opensource.xhaus.com/projects/modjy/wiki/ModjyConfiguration
>
> Alan.

Alan,

I had followed that, both at the Servlet level and at the Context
level. It still has no effect on the behavior of the modjy
application. Is there a way for me to verify that the settings are
being picked up by the application? Or a way for me to set the value
of that option in the python WSGI application?

--Greg

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d

Gmane