Home

Advertisement

Lifting Scala Actors

  • May. 27th, 2009 at 5:52 PM
David Pollak wrote a very detailed description of Scala SDK Actors on the Lift discussion list, some serious flaws are pointed out as a justification of why Lift has it's own Actor library:
  • Lift creates/destroys an Actor for each Comet request. This rapid creation/destruction of Actors caused memory back-ups, and the existing Actor code seems to be oriented to long running Actors rather than Actors with Object-length lifespans.
  • The FJ libraries used for Actor scheduling have problems on multi-core machines and are also a source of memory retention issues.
  • Replacing the FJ libraries with a scheduler based on java.util.concurrent exposes race/deadlock conditions related to the fact that some parts of the Actor processing (e.g., testing mailbox items against partial functions while the Actor itself is synchronized)
  • The Actors require external threads to function and it's not possible to create external threads in the Google App Engine (making Actor-based functionality including CometActors non-functioning in GAE apps)
  • Actors are fragile when exceptions are thrown
  • Actors have running and not running states (as compared with objects which can always respond to message sends). In practice, managing the running and not running states is as hard as managing memory in C.
  • There are hidden actors associated with each thread which display the above fragility and state management issues
  • And as a practical matter, I've got a couple of applications that are going into production over the next few weeks and cannot wait for the various fixes to make it into Scala 2.8 and the hacks and work-arounds that I've done to the 2.7.4 Actor libraries became too complex for my comfort.
Interesting to notice the authors worries about overcoming some limitations to run Lift on Google App Engine, what would certainly boost it's main adoption in a near future :)

The Simplicity Pattern

  • May. 20th, 2009 at 6:01 PM

{title updated}

I was talking to Miguel about the advantages and disadvantages of the CGI way of making web apps, and had in mind the yearly years of it and how alternative solutions like Java Servets proposed a much more sophisticated way to handle the emerging web application needs. Then I stumble upon a @voidspace's blog entry: Is CGI dead? and the argument of simplicity (as I remember Miguel rightfully pointed this also) was put on the table and I don't disagree at all with it. And interesting is to notice that even Java Servlets simplicity (although not as simple as the CGI protocol is) made it the very foundation of several other famous frameworks, which in the end do a lot of the dirty work that software developers used to have.

It's always the tradeoff: with a very simple (but elegant) solution you easy it's adoption, and on its solid base several other layers of software can be built, providing each one more features to the components that will lay on top.


10 Nightmares You Should Be Aware Of

  • Nov. 24th, 2007 at 4:32 PM
Clipping of the day: In this good list of usability nightmares you should be aware of what surprises me the most it the fact that the first place goes to the famous 37signal’s company website on the issue of having a very difficult log in link (a that's a huge design flaw IMHO). But that being shout out loud on the infinitum space of the web I'm sure they will correct that in the speedy of light ;-)

Other good but obvious point goes to pop ups and one that I personally hate is the one described on the item 9: Drop down menus where the user needs to be very skillful in the arts of mouse maneuver.

JavaFX quick good news

  • May. 27th, 2007 at 9:29 PM
Quick good news on JavaFX, from OnJava:
  • "it is perfectly fine to distribute your JavaFX applications, in fact we encourage it";
  • "Yes, it is and the runtime will be open sourced";
  • A Java FX WYSIWYG;
A new scripting language, JavaFX Script gives Java developers the power to quickly create content-rich applications for the widest variety of clients, including mobile devices, set-top boxes, desktops, even Blu-ray discs. Content creators now have a simple way to develop content for any Java Powered consumer device.
Consumers are looking for exciting, dynamic content on the Web and expecting a more interactive experience with Web services. JavaFX can help you deliver visually compelling applications, such as maps and mashups, video, audio, and pictures, that you can standardize across cell phones, TVs, and more.
... JavaFX Script will appeal to content authors because the structure of the written code closely matches the actual layout of the GUI ...

Tags:

This site may harm your computer

  • Feb. 20th, 2007 at 5:53 PM
Google is now warning about web pages that will harm your computer. Interesting. Try looking for some serial code ;)

Tags:

Yahoo opens up the mail

  • Oct. 2nd, 2006 at 8:11 AM
A very aggressive decision, how good is competition... (http://google.com).

Tags:

JSF vs Tapestry

  • Aug. 25th, 2005 at 8:29 PM
I´ve just read great article comparing JSF and Tapestry against each other.
The author does a job comparing several interesting categories:
  • Page Development
  • Java Programming Model
  • Request Processing Life Cycle
  • Navigation
  • Event Handling
  • Component State Management
  • Standard Components
  • Component Development
  • Validation and Conversion
  • Internationalization
  • Testability
  • Developer Productivity
  • Ease of Learning
  • Industry Momentum
  • Extensibility
Of course with lots of categories to cover they end up been no that deep. Nevertheless it´s worth a look!


Latest Month

June 2009
S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930    

Tags

Syndicate

RSS Atom
Powered by LiveJournal.com
Designed by Tiffany Chow