Most of the open source projects we share with you on InfoQ increase the capabilities of another library or technology. MongoRepository is different in that it intentionally limits the capabilities of the underlying library. We’ll let Rob Janssen why it does this in his own words.
Brannon B. King, a software developer working for Autonomous Solutions Inc., has published an article entitled Dangers of Violating SOLID Principles in C# in MSDN Magazine, May 2014. The author outlines some of the mistakes developers can make in their C# code, breaking the SOLID principles and leading to code that is more difficult to extend or maintain.
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.