Access Keys:
Skip to content (Access Key - 0)


Articles and Publications
Document Object Models for XML — There are several competing document object models that can be used in order to load XML into memory. These include W3C standardized DOM, JDOM, dom4j, XOM and Saxon XDM.
Labels: xml, dom, jdom, dom4j, xom, saxon
MLJMS - JMS Driver for MarkLogic — MLJMS is a XQuery and Java library that enables marklogic content to be sent over JMS. Basically whenver the state (create, update, delete) of a document or collection of documents changes, external parties may be interested in these changes. MLJMS uses the Marklogic triggers framework to send messges to a JMS destination.
Labels: xml, xquery, java, marklogic, jms
CSharp Code Generation for FpML with Xsd2Code — This article focuses primarily on C# code generation of the FpML schema (v5.0) using Xsd2Code. Xsd2Code is an open source CSharp or Visual Basic Business Entity class Generator from XSD schema. In the Java world, this can be handled by using jaxb and maven as decribed in the article 'FpML Integration with JAXB and Maven'.
Labels: fpml, dotnet, xml, xsd, csharp
Demo Using Drools, FpML, XPath and JMX — This article showcases the use of Drools, FpML, XPath and JMX in the context of a deal approval engine through a working demo. The demo will demonstrate the use of Drools, FpML and XPath for trade message validation and the ability to update business rules dynamically using JMX and Drools.
Labels: drools, fpml, xpath, jmx
Loading Large FpML data into MarkLogic — Lets take the case where we need to load a set of FpML representation of credit default swaps in MarkLogic . This article explains how to use XQuery to load documents into Marklogic, the issues and using xdmp:invoke and xdmp:spawn to overcome these issues.
Labels: fpml, marklogic, xquery, xml
Using Saxons S9API Interface — Saxon is an integrated XML processor that offers tree based XML representation, schema validation, XPath and XQuery evaluation and XSLT processing. Its new s9api interface provides simple, integrated access to all Saxon's XML processing capabilities in a uniform way, taking advantage of the type safety offered by generics in Java 5.
Labels: xml, xpath, saxon, xquery
JAXB Custom Bindings HashCodes and Equals — When using generated classes, it's natural to want to use these domain objects in some sort of Collection. The problem presented here is that the hashCode and equals methods do not get generated, resulting in an obvious problem.
Labels: fpml, jaxb, technical, java
Ivy in .Net — This article demonstrates how Ivy can be setup for a .Net Project using NAnt. The issues covered include: environment setup, how to declare project dependencies, dependency resolution using multiple repositories and building projects using NAnt.
Labels: ivy, nant, csharp, dotnet
Singleton JAXBContext — One of the most common patterns with the JAXBContext is to have one context per Thread using a ThreadLocal. However, one of the chief complaints about JAXB is that its a memory hog. So the key is to initialize the context once and vend out (un)marshallers. Since creating the context can be quite expensive, its quite common to create it on server startup. The tricky part, when using Spring's ApplicationContext, is how do we get the the paths of the ObjectFactory.class and jaxb.index files?
Labels: technical, spring, java, jaxb
MarkLogic Training MarkLogic is an industry leading XML Server, designed and optimized for XML content. It provides capabilities to store, manage, enrich, search, navigate, and dynamically deliver content. We recently had the opportunity to attend a 3-day basic training on MarkLogic.
Labels: marklogic, xpath, xquery, xml
Useful Bash snippets — Having to work on different Linux boxes that are locked down and often lack common utilities, I like to keep around a few snippets for inclusion in .bashrc or .bash_profile. E.g., here are a couple, to make searching easier and to convert DOS-formatted files when the dos2unix binary is missing.
Labels: technical, linux, bash, shell-scripting
jmock me — In hindsight, it seems like a particularly painful experience. Whenever I would need to mock or stub out an interface, I would do it myself. Either using dynamic proxies or an anonymous inner class in the form of
Labels: spring, testing, java, technical
Bean startup using Lifecycle — Working with Spring, I have noticed that developers have a hard time creating and starting a container correctly. Often, the startup class will consist of a ClassPathXmlApplicationContext with a base context file to digest. The problem lies in the fact that most do not pay attention to the Lifecycle interface, and proceed to mix initialization and on-start behavior using either the InitializingBean or the explicitly declared init-method.
Labels: technical, java, spring, jms
FpML Integration with JAXB and Maven — Getting started with a new technology can be quite daunting and, when you have a number of inter-dependencies, it can seem impossible. This article will describe how to get a quick start using: FpML 4.4, JAXB 2.1.6 and Maven 2.0.7
Labels: maven, fpml, jaxb
Changing lead into gold Revealing the XO impedance mismatch
Labels: xsd, object, modeling
OSGI - Spring DM Sample
Labels: osgi, java, spring
Using ActiveMQ with embedded broker for JMS testing — When unit testing code with JMS you'll typically want to avoid the overhead of running separate proceses; plus you'll want to increase startup time as fast as possible as you tend to run unit tests often and want immediate feedback.
Labels: activemq, jms, testing
Maven Introduction - Part I — Why are we talking about build tools when we have Ant? Why bother? I equate Ant to Perl. While Perl is a very powerful language, with which you could probably build a house with, in a record amount of time, you pay for the maintenance and support costs. Any one who worked for our "farm of choice" can attest to the fact that the build environment written in Perl was a nightmare. Furthermore, it was quite difficult to add new functionality. Similarly most Ant environments get out of hand. Powerful, yet when a new joiner comes on board, frequently they are frustrated by the implementation choices, and worse, fear breaking the current functionality with new requirements.
Labels: technical, maven, java
pastebin - collaborative debugging tool
Labels: share, source, code
Protocol Buffer, a Look Protocol buffers are an efficient and flexible way of serializing structured data, conceptually similar to the popular data exchange format XML. It was developed at Google and used as their key data serialization format. It is now available as open source.
Labels: technical, xml, java
ClearStore
Labels: xml, gemfire, clearstore
Assert Eventually — When it comes to testing, there are a number of conditions which JUnit does not support explicitly. One of these is asynchronous message flow. When a thread is used to perform a unit of work, which is deterministic, its convenient to test that work within the wider scope of the executing code. This leads to the following two interesting cases regarding testing:
Labels: testing, technical, junit, java
Injecting objects, not object factories — While I'm not certain since when Spring has supported the factory-method, its certainly present in version 2.5. Its a handy way to inject the desired class as opposed to the factory managing it into the target class.
Labels: spring, java, technical
Fast Retrieval of CLOBs — Performance characteristics of extracting CLOBs from an Oracle database can be quite poor, particularly in comparison to extracting VARCHAR2 data types. Typical benchmarks (on Oracle 10g), show this performance degradation to be around a factor of ten with a JDBC driver (more on the difference between thin and thick drivers later).
Labels: technical, oracle, jdbc
Spring Context Lifecyle — What happens when you want to intercept the container itself? There is much less information available for the overall lifecyle of a container. For instance, if you need the container to be aware of all the beans prior to starting a bean?
Labels: technical, spring, java
Triggers in Marklogic — MarkLogic has the capability of firing triggers when certain events occur. These events include: Document events like create, delete and update, Property Change events and Database Coming online.
Labels: xml, xquery, marklogic
Java Training & Software — There are a number of things every developer must know. It is the foundation on which everything else is built on top of. It does not matter if you are junior, senior or an architect, these are some of the building blocks of software development.
Labels: technical, java, sql
TeamViewer - Free Remote Access and Remote Desktop Sharing over the Internet
Labels: remote, access
Does delegate.BeginInvoke actually use the ThreadPool?
Labels: technical, dotnet
Trains, Elevators, and Computer Science (How can classical engineering be used to make more-stable software?)
Labels: code, reliability
Introduction to OSGi — Osgi (formerly Open Services Gateway initiative) refers to a Java based services platform that allows for remote management of a system, as well as adding life cycle management of internal components (bundles), allowing the dynamic install, delete, and updating of these components with minimal impact to the system. OSGi allows for the quick release and incorporation or interconnected components into an active system, and have them interact with no interruption to the active system.
Labels: osgi, java
Hivelogic - Top 10 Programming Fonts
Labels: fonts, programming
XStream
Labels: java, serializer
SDLC
Labels: ba, sdlc
Spring DM - Introduction
Labels: java, osgi
Quince Home
Labels: quince, ui, design, patterns
Client source-code case studies
Labels: source, code, malpractice
Tools & Libraries - GemFire Enterprise - Gemstone Community
Labels: gemfire, tools
codepad
Labels: code, sharing
Fluent NHibernate
Labels: fluent, nhibernate
Welcome to BLToolkit - Business Logic Toolkit for .NET
Labels: codegen, toolkit
Design Patterns in C and VB.NET - Gang of Four (GOF)
Labels: design, patterns
The Automated Tester .Net Gem - How to Unit Test Internal Methods
Labels: unit, test, internal
Introduction to Rule System and Drools — This article introduces basic concepts of a rule system. It lists the advantages of a rule system and discusses when and why using one can be helpful. Finally, it gives a high level overview of the open source Drools Rule System.
Labels: drools, technical
Aggregating and Viewing multiple service logs — Most developers quickly realize that the ability to look and query a central log file that contains log errors from all system services is of great help in debugging and tracing how requests get handled. So is a Graphical UI tool that displays log events. This can all be achieved using Apache Log4j framework and companion application Chainsaw.
Labels: log4j, chainsaw, technical
Dependency Injection Inversion
Labels: guice, ioc, di, dependency, injection
Thread Abort and Thread Pools
Labels: technical, dotnet
Dr. Dobb's Why Software Really Fails And What to Do About It March 11, 2010
Labels: software, failure
Brahma
Labels: brahma, c#, parallel
Software maintenance - Clarity in Code
Labels: software, maintenance
Maven Introduction - Part 2 Profiles and Filters Profiles and Filters go hand in hand, especially the way we use these concepts in Maven. Such as when specifying different build environments, we generate the property file for our programs. Within a profile, you declare all non standard information. Using the filter mechanism, you can have these properties set, just like an ant task that sets values of your config files.
Labels: technical, maven
Thread Death & UncaughtExceptionHandler — While working on the previous post, I came across an interesting issue. How to propagate exceptions across thread boundaries? In the first iteration, I called the custom runnable's template method to rethrow the exception. The downside was that the logic was rerun in entirety. Tinkering with the code to improve the responsibilities, the test cases started to fail as the AssertionError was being swallowed.
Labels: technical, java
Unpacking Resources for Program Execution in Maven — While using Maven, its often necessary to unpack dependencies in order to execute a program or to run some test cases. Typically its because some resource or data files needs to be extracted to the file system.
Labels: maven
Externals Definitions
Labels: svn, externals
JNI4NET
Labels: java, c#, .net
Accessing Bean Properties in Drools — In Drools, the data against which rules are evaluated are Java Beans instances. The Rule Language syntax allows you to access properties of these beans while declaring rule conditions in the rule file (drl file).
Labels: drools
Project SIKULI
Labels: code, future
OCI versus Thin Driver
Labels: jdbc
Singularity Blog Covering Robots, Genetics, Stem Cells, Transhumanism, The Brain, The Future
Labels: singularity
JANETDEV
Labels: java, c#, .net
Nine Things Developers Want More Than Money Software by Rob
Labels: programming
Ideal Domain Object Model in Drools — The Drools Rule Language allows you to access nested properties directly while declaring rule conditions in the rule file (drl file). However, there are few things about nested properties and domain object model that Drools developer should understand.
Labels: drools
CWE - 2010 CWESANS Top 25 Most Dangerous Programming Errors
Labels: coding
Microsoft Application Architecture Guide, 2nd Edition
Labels: architecture, ehosca
My Tech Interviews
Labels: interview
My Top 20 Most Popular Posts (So Far) The Inquisitive Coder – Davy Brion's Blog
Labels: code
The One Skill You Need To Master To Succeed And Grow As A Developer
Labels: coding
A Visual Git Reference
Labels: git
Maven - Json-libGetting Started
Labels: json
Google Visualization API
Labels: java
How can you tell if a person is a programmer? - Stack Overflow
Labels: humor, programming
Configuring Apache for ASP.NET All About .NET
Labels: apache, asp.net

Adaptavist Theme Builder Powered by Atlassian Confluence