Source Allies Logo

Blog Insights

  • testing icon

    Selenium IDE - Part I

    Selenium IDE is a free Firefox plugin that leverages javascript to record automated test scripts. In this first tutorial we will install Selenium IDE and create a basic test script. The next tutorial will cover more advanced topics. I primarily use Selenium IDE in three areas: <li>Click the 'Results' link.</li> <li>Right-click and...
  • development icon

    Greasemonkey

    Greasemonkey is an extension for Firefox that leverages javascript to modify the look and functionality of a page. At first glance this tool looks like a neat toy. However, this tool came in quite handy at one of our partners recently. Our partner was tracking their daily status on...
  • testing icon

    Transactions Our Invisible Allies

    Transactions are an essential component in enterprise software development. When your application works properly you rarely think about transactions. However, when things go wrong debugging transactions can be quite challenging. Instead of being reactive we need to proactively test our transactions. When I first got into the software...
  • development icon

    Javascript functions for creating a read-only view

    I'm sure you've all been there before. After months of creating page after page of crud screens, you're now asked to create a read-only view of everything. I usually see this implemented with setting the readOnly attribute on every field to a variable that indicates whether or not the screen...
  • development icon

    Exploring Design Patterns in the JDK

    Design Patterns are software design solutions that can be applied in our daily software development to help us develop code that is flexible, resilient to change and easily understood (when you are familiar with the pattern). The JDK APIs employ patterns in several areas. So even if you aren't familiar...
  • development icon

    Aggregate MyBatis.NET SqlMaps from Multiple C# Projects

    Wouldn't it be nice to have your ASP.NET web application simply discover any new MyBATIS config files when the application starts up? If you're on the bleeding edge with iBATIS 3 beta code, then this is a fairly simple task with psuedo code like: string[] sqlMaps = Inspector.GetSqlMapsFromAssembly( ...
  • development icon

    Avoid merge hell when committing from Git to a Subversion repository

    Previously (I sound like an episode of desperate housewives!) we saw how we can easily commit an existing Git repository into Subversion. That was great and we can commit changes to our git repository and execute git svn dcommit all day long to send the changes up to Subversion. Now...
  • development icon

    How to commit an existing git project into Subversion

    In my last post I mentioned how Git's stash feature finally convinced me that it made sense in my subversion world. Well, once I was well underway on my new project, I'd reached the point where I was ready to commit version 0.1 to subversion. Googling for how to commit...
  • development icon

    One good reason why Git makes sense

    When I first heard about distributed version control systems and Git about a year and a half ago, I was very much a Subversion user both at work and at home. I knew how to setup Subversion, it's ACLs and make it available over http via Apache. You could say...
  • testing icon

    Would you start mocking me?

    One of the primary principles of unit testing is to test a small piece of functionality in isolation. In order to achieve this, mock objects are often necessary. Historically using mocks could be quite painful. After using several mock frameworks, my favorite by far is Mockito. java Person mockPerson = Mockito.mock(PersonImpl.class); assertNotNull(mockPerson.getChildren()); assertEquals(0, mockPerson.getChildren().size()); assertFalse(mockPerson.isCitizen()); assertEquals(new...