Ruby.rewrite(Ruby)
In this RubyFringe talk, Reginald Braithwaite writes Ruby code to read, write, and rewrite Ruby. Demos include extending Ruby with conditional expressions, call-by-name and more.
- Ruby,
Tracking change and innovation in the enterprise software development community
Posted by Scott Delap on May 28, 2008 10:49 AM
Oracle's Cameron Purdy recently presented on the topic of scalability at JavaOne 2008. The talk did not focus on specific Java libraries as do many talks at JavaOne. Instead general principles of architecture and design were reviewed from a pragmatic common sense angle. In general Purdy broke the problem down into 10 steps:
10 - Understanding the ProblemIt was noted that scalability does not speed up an application. A scalable system will always be slower than a single user system. Give the recent debate over Twitter's scalability using Ruby it was also interesting to see the point that "Architecture trumps technology". He comically noted that "even Windows could be scaled". Purdy did say that legitimate technology concerns could include unpredictable scheduling of GC, lack of control over thread scheduling, and lack of asynchronous I/O.
9 - Define the Requirements
8 - Architecture Trumps Technology
7 - Understand the Basics
6 - Visualize the Networks
5 - Visualize the Design
4a - Plan for Overload
4b - Partition for Scalability
3a - Plan for Failure
3b - Replicate for Availability
2 - Tier Where It Makes Sense
1 - Simplify
Purdy went on to state that the challenge of creating a scalable stateful system is to achieve availability, reliability, scalability, and performance while having a system that is manageable and serviceable. At this point the presentation focused on the five patterns of stateful scale-out:
Gnip Case Study: Reliable and Scalable Access to Massive Data Streams from Multiple Sources
Terracotta 10x Faster Than Oracle Coherence
Hibernate without Database Bottlenecks
Why Should I Care About Terracotta?
Terracotta 2.7 Download now for scalability without tradeoffs
Terracotta is Scalability and Availability for Java Applications. It clusters the JVM itself, which dramatically simplifies development and reduces database dependency.
In this RubyFringe talk, Reginald Braithwaite writes Ruby code to read, write, and rewrite Ruby. Demos include extending Ruby with conditional expressions, call-by-name and more.
Aptana RadRails: An IDE for Rails Development by Javier Ramírez discusses the latest Aptana RadRails IDE, a development environment for creating Ruby on Rails applications.
Cliff Click discusses how to optimize generated bytecode for running on the JVM. Click analyzes and reports on several JVM languages and shows several places where they could increase performance.
Scott Ambler, Practice Lead for Agile Development at IBM, speaks on the current status of the Agile community and practices having a look at the perspective of the Agile’s future.
Dave Nicolette and Karl Scotland try to introduce non-technical managers to one of the most popular Agile development techniques: Test-Driven Development (TDD).
Smooks is best known for its transformation capabilities, but in this article Tom Fennelly describes how you can also use it for structured event streaming.
Successful architectures evolve over time to meet changing business requirements. Luke Hohmann presents how to collaborate with key members of your business to manage architectural changes.
In this article, Dr. Tobias Komischke explains how colors used in a GUI can influence our interaction with a computer and offers advice on using the appropriate colors for the interface.
No comments
Reply