The MagLev project has released version 1.0 of their Ruby VM. The Ruby implementation is based on the GemStone/S Smalltalk VM which comes with GemStone's distributed cache, ACID transactions, and persistence system (OODB). InfoQ caught up with Monty Williams of the MagLev project to talk about where MagLev fits on the NoSQL spectrum, and much more.
Imagine you are doing maintenance on an application from the late 90’s that uses the classic ADO libraries. The recompiled code works fine on any Windows 7 SP1 machine, but mysteriously crashes on the Windows XP machines that have been running the program for nearly a decade. This is the problem facing lots of maintenance developers.
As the name implies, Managed Extensibility Framework is a framework for extending .NET applications. In a recent Channel 9 interview Oleg Lvovitch and Kevin Ransom talked about the history of MEF and what’s planed for version 2.
In a recent news article the Massachusetts Institute of Technology has introduced a technology for automatically remembering connections between objects. The provided system determines how objects in a large software project interact, so it can inform latecomers which objects they will need to design certain types of functions.
The OOP conference (Object Oriented Programming) was held in Munich, Germany, from 24th to 28th January 2011 with “Business Impact through Mastering Change” as its general motto. Despite of its name, the OOP represents one of the largest and long-lasting events on the general field of software engineering.
In a QCon London 2010 interview with Joe Armstrong, the original developer of Erlang, and Ralph Johnson, long associated with Smalltalk, OOP, and Patterns, the question of whther we've gone down the "wrong path" w.r.t. object orientation all these yearrs. Both interviewees suggest that we have, but this is due to flaws in the implementation of object ideas and not the ideas themselves.
With .NET 4.0, writing reliable managed extensions for Internet Explorer has become possible. Unlike previous versions, each extension will run against the CLR it was compiled for instead of mindlessly grabbing the most recent version. Alas, COM interfaces are still needed.
Microsoft’s Patterns and Practices caching framework has been promoted to a part of the core .NET Framework. This framework provides a basic in-memory cache with trigger-based cache invalidation and a common wrapper for more advanced caching frameworks to share.
Paul Harrington, Principal Developer on the Visual Studio Platform Team, has written an explanation on why calling Marshal.ReleaseComObject() to dispose of a COM object from managed code is considered dangerous and recommends not using it.
Silverlight 4 supports COM+ Automation when running as an Out-Of-Browser (OOB) application with elevated privileges. Microsoft indicated that this support is a result of enterprise customers requesting such a feature, offering as an example Office automation from Silverlight.
JUnit 4.7, which has just reached Release Candidate stage includes a significant new feature: Rules. Rules are, in essence, another extension mechanism for JUnit, which can be used to add functionality to JUnit on a per-test basis. Most examples of custom runners in earlier versions of JUnit can be replaced by Rules, and new capabilities have already been added.
In this presentation recorded during QCon London 2008, Udi Dahan, The Software Simplist as he calls himself, explains why sometimes it is not enough to apply good OOP and patterns lessons. He introduces a new principle: make roles explicit.
The last few weeks, a public dispute has been going on between Joel Spolsky and Robert C Martin (Uncle Bob) about Test-Driven Development and about the SOLID principles of OO design. Here is a summary and review of the match.
Programming languages that offer more power and flexibility have been lately gaining momentum. Johnatan Tang highlights, however, the flexibility vs. productivity tradeoff in terms of program structure. Whereas multi-dispatch languages provide more flexibility in arranging code, traditional object orientation makes organizing programs easier.