Antoine de Saint-Exupery
1,219 karma · joined April 12, 2010
Antoine de Saint-Exupery
This is a technical decision to build a web framework to the JVM. And even if the core is written in Scala, it doesn't mean you can't use it in Java. Give a try!
Let's take the Play 1 vs Play 2 example:
How many times I got a 500 pages in the face due to a basic NullPointerException in Play 1 groovy templates...
In new play 2 templates, because they are type-safe, they guarantee that you will not have those basic errors.
Of-course, it doesn't guarantee everything, but it's way less error-prone. You actually CANNOT make this kind of NPE errors with type-safe scala code.
where in java you do something like:
user.address.town // oops I forgot to test if user.address is not null
in scala:
// user.address.town wouldn't work, because address is represented as an Option[Address]
user.address.map(_.town).getOrElse("")
- non-blocking IO with the powerful iteratee concepts (a nice approach to play with streams (EventSource/WebSockets/*) which is not only an event-based approach like in NodeJS, but more a "reactive" approach)
- functional approach of things with Scala
- everything is much more type-safe (especially templates) which make apps stronger (not prone to simple error like NPE in templates) but also faster (templates are compiled)
The rest is quite ok! :-)
And also I don't have to store anything on my server, bit.ly like services are the new way of storing the information :)
ok so I'll move it to LGPL soon then ;)
Yep, This is what I want for Illuminated.js. I prefer to have benefits of the library modifications. It's a bit more restrictive coming from MIT (I used to use it for some projects) but it's not as restrictive as a "non-commercial only" license, so IMO it's quite ok, it's a minimum of thanks to the library.
Regards
Yeah, I need to fix that, this is link to my wrong sampling implementation.
If you use only 1 sampling you will see it is fixed.
You think using getImageData and putImageData is more performant that drawImage(canvas, 0, 0) ?
BTW i'm not sure it will works for combining images together with special composite operation.
Am I wrong?
Now my technique of combining shadow samples together is probably not the most efficient, I draw them with source-over and an alpha which is also a wrong hacky current implementation... but maybe using the CanvasData would be less efficient (technically I need to make the average of shadow samples' grayscales) - well we never know, I haven't tried yet ;)
I would be happy to have any contribution in the library :)
history.replaceState({}, title, "#"+hash);
would have fixed it.( https://github.com/gre/illuminated.js/blob/master/demo.js#L1... )
Any idea?
Do you use a lot of sampling in the lights? I reach good fps on my macbook pro, especially on Chrome (but also on my home computer under Linux).
I hope we can use it with less sampling and less compute() calls for our games :)
no offense but IMHO, we should focus on releasing the next Javascript and make it possible instead of writing better CoffeeScript compilers.
The idea behind Play2 is to have a framework written in Scala (the core) but providing a full API for both Scala and Java languages. Hence, users can choose their preferred language to write web applications.
More generally, this would be awesome to use on a wiki.
This makes editing even more accessible.