BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Runtimes Content on InfoQ

  • Service Dynamics: the lazy man's way

    This article describes "the hardest topic in OSGi, how to deal with service dynamics," based on personal experience. Two factors, concurrency and direct service references, make the problem "fiendishly hard." An import and an export policy should form a comprehensive doctrine for dealing with service dynamics and the article explores two export policies with their corresponding doctrines.

  • Ruby's Roots: Smalltalk Comeback and Randal Schwartz on Smalltalk

    Smalltalk, a language that has had a big influence on Ruby, is making a comeback. We take a look at the current situation and talk to Randal L. Schwartz about Smalltalk.

  • More Than Just Spin (Up) : Virtualization for the Enterprise and SaaS

    Cloud services, such as Amazon EC2, have helped bring virtualization to the forefront of the IT conversation. Its full power however, also includes benefits such as high availability, disaster recovery, and rapid application provisioning. In this article, Contegix CEO Matthew Porter, discusses how virtualization can be used to bring these benefits to enterprise and Saas deployments.

  • Using Ruby Fibers for Async I/O: NeverBlock and Revactor

    Rails 2.2 is schedule to be thread safe - but will blocking I/O libraries make it necessary to run multiple Ruby instances? We take a look at how non-blocking I/O and Ruby 1.9's Fibers help solve the problem. We talked to Mohammad A. Ali of the NeverBlock project and Tony Arcieri of the Revactor project.

  • Exploring LISP on the JVM

    One of the most exciting things in the Java world right now is the work being done to get other programming languages to run on the virtual machine. There is a lot of buzz around JRuby, Groovy, Scala, and the JavaScript engine Rhino. But why stop there? If you really want to take a step outside the mainstream and dive into something completely different from Java, Lisp is a great option.

  • Do Java 6 threading optimizations actually work? - Part II

    Features like biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking are all designed to increase concurrency by allowing more effective sharing amongst application threads. But do they actually work? In this two part article, Jeroen Borgers explores these features and attempt to answer the performance question with the aid of a single threaded benchmark.

  • Do Java 6 threading optimizations actually work?

    Features like biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking are all designed to increase concurrency by allowing more effective sharing amongst application threads. But do they actually work? In this two part article, Jeroen Borgers explores these features and attempt to answer the performance question with the aid of a single threaded benchmark.

  • A Look at Ruby Debuggers

    A misconception lingers in the Ruby world: Ruby has no debugger. This is blatantly wrong - Ruby has debuggers, GUIs for debuggers and APIs for debuggers. InfoQ takes a close look at the state of debugging tools in the Ruby world - and finds that its debugging support is more than sufficient.

  • Real-Time Java for the Enterprise

    Simon Ritter explains the vision and capabilities of the Real-Time Java specification (RTSJ), if your Java app really, really must respond within a certain time regardless of what the garbage collector does, RTSJ is now a possibility rather than a probability.

  • The Box: A Shortcut to finding Performance Bottlenecks

    Finding performance bottlenecks can be a difficult task and it can get even more difficult as our applications grow in size. The Box is a methodology tool that focuses us efforts to improve performance.If you want to be consistent and predictable, getting rid of the guessing is a must.

  • Introduction to OpenTerracotta

    OpenTerracotta is an open source enterprise-class JVM clustering solution that can take multi-threaded single-JVM apps and have them run across multiple JVMs with no code changes. Orion Letizi goes super-indepth on Terracotta and how it works, explaining how to do session replication, distributed caching, master/worker, and more.

  • In-process Interoperability

    The two most popular managed environments (the JVM and the CLR) are in fact, nothing more than a set of shared libraries, each providing services to executing code such as memory management, thread management, code compilation (JIT), etc. Using both the JVM and the CLR inside the same operating system process is easy, since any process is capable of loading just about any shared library.

BT