Sunday, July 01, 2007

Brian Flood : Google Maps Draggable Routes: "goto Google Maps and get some directions. You can now drag the endpoints and the route itself and it will recompute the route on the fly (using JSON request for each mouse move!!!!)"
Hosting Virtualization: OpenVZ vs. Xen, which is best? | 2BITS.com - Drupal Development, Customization and Consulting: "So, the advice is: for Drupal hosting best performance: use Xen if you want a VPS. Avoid Virtuozzo and OpenVZ"
Lesson #20 - Drupal Flex - Important Update! | groups.drupal.org
Peter Pilgrim's Weblog: SpringONE 2007 sessions:
  • Advances in Aspect Oriented Programming
  • Messaging and Concurrency with Spring
  • New Features in Spring Framework 2.1
  • Building Fat-Based Client with Spring and GWT
  • An introduction to Spring Web Flow
"Here are some OSGi (Open Services Gateway Interface) links
and "Here are the two conflicting JSRs that are influenced by the work of the OSGi.
  • JSR 277: Java Module System
  • JSR 291: Dynamic Component Support for Java SE"

Thursday, June 28, 2007

MallikArjuna Rao.Y: Language-neutral data format: XML and JSON
Parks KML Explained at Beginning Google Maps Applications: "When iterating through rational XML, it makes sense to use tools such as SimpleXML and XPath. But when it’s a dog’s breakfast like this, some decisive regexes can end up being the easier approach. If we want to isolate the first description paragraph, for example, from Quetico, we can look at the surrounding markup for some good parsing hooks..."
Beginning Google Maps Applications: "Further Reading:
HTML Scraping with XPath (Apr 07)
Simplify directory access with Spring LDAP - Java World

Wednesday, June 27, 2007

The sites, they are a'changin' | Lullabot: "Drupal has reached a point where 80-90% of the functionality of most sites can be built using nothing but Drupal core, CCK, Views, and a few dozen third-party modules. That impressive stat is made possible by Drupal's architecture, and the steadily increasing quality of many key modules in the contrib section. Unfortunately, it also means that Drupal is currently in a scary 'gray zone' between roll-your-own and plug-and-play.

In the dark ages of Drupal 4.6, and even 4.7, if you wanted your site to offer a news section, a free job posting section, and a photo gallery, the answer was simple if sometimes frustrating. You installed image.module, you hunted around in contrib for a Classified Ads module, and you used something like Taxonomy to organize story nodes into a news section.

Today, the situation is quite a bit different. While those kinds of modules still exist, much more emphasis is put on designing your own content types from scratch using CCK and a bag full of Field Type plugins. Then, you roll your own listing pages and filtered RSS feeds using Views module. In almost all cases, the resulting functionality is the same or better, and you can tailor the data model and presentation to your site's specific needs. It makes it quite a bit easier to build your site just so without re-inventing the wheel.

The trade-off, though, is increased complexity for the folks who don't need that high level of customization. If all you want to do is add a browsable gallery to your blog, installing CCK, Views, Imagecache, Imagefield, Views_Grid, and so on, then configuring each of them to work together an produce your Perfect Image Gallery... Well, that's a daunting task. Building a wiki in Drupal is similar -- you combine six or seven modules, configure them to taste, and voila! Wiki! To do that, though, you need to figure out how they all work together and what the correct 'recipe' is."
OpenXML Developer : Office Open XML File Format library for Java
AMIS Technology blog » Blog Archive » Pulling the rug from under your feet while keeping standing - Using the Hot Swappable Target Source in Spring AOP: "Spring AOP offers a wealth of new options in programming as well as designing Java applications. A somewhat more advanced feature is the Hot Swappable Target Source. The concept of a hot swappable target source is linked to the use of proxies instead of concrete object implementations, which is the heart of standard, run-time JDK based AOP. To advise an object with aspects, such as described in my previous post Getting into Spring AOP - Implementing simple business logic on top of Domain Objects using Aspect Oriented Programming, a proxy is created. This proxy intercepts method calls intended for the underlying target object and applies aspects for all specified pointcuts." & A Couple of Dutch Rants » Spring instance management part II - hotswapping (!) and mixins for pooling: "In the previous post I elaborated on the way Spring supports pooling. In this article I’d like to cover some performance characteristics, the ability to provide insight in the statistics of the pool we’ve previously configured and the way we can use the TargetSource we discussed previously to implement hotswapping." & Chapter 7. Spring AOP APIs » 7.10. Using TargetSources : "Spring offers the concept of a TargetSource, expressed in the org.springframework.aop.TargetSource interface. This interface is responsible for returning the "target object" implementing the join point. The TargetSource implementation is asked for a target instance each time the AOP proxy handles a method invocation. Developers using Spring AOP don't normally need to work directly with TargetSources, but this provides a powerful means of supporting pooling, hot swappable and other sophisticated targets. For example, a pooling TargetSource can return a different target instance for each invocation, using a pool to manage instances." & Chapter 12. Aspect Oriented Programming with Spring.NET » 12.9.1. Hot swappable target sources
Are you an SOA expert?: "The list of things an SOA expert needs to know about seems to be getting longer and longer. Here's a checklist to help you stay on top of it all."
Interoperability Happens - Management Lessons for Developers :-)
Interoperability Happens - Would you still love AJAX if you knew it was insecure?: "JavaScript hijacking is a new type of eavesdropping attack against Ajax-style Web applications." & Overcome security threats for Ajax applications