Source Allies Logo

Blog Insights

  • development icon

    Customizing CSRF Protection in Spring Security

    Starting in Spring Security 3.2, developers gained an easy solution to their Cross-Site Request Forgery problems with Spring's implementation of the Synchronizer Token Pattern. Spring's documentation does a great job of explaining Synchronizer Token Pattern and their implementation, so rather than talk about all of that, I'm going to show you...
  • development icon

    How to Implement the Splitter and Aggregator Patterns with Apache Camel

    I have found that Apache Camel is a good way to load data from log files into a database. Read on to see how I did this using the splitter and aggregator patterns with Apache Camel. Example: username1,fname1,lname1,email1,action1,start-time1,end-time1 username2,fname2,lname2,email2,action2,start-time2,end-time2 username3,fname3,lname3,email3,action3,start-time3,end-time3 username4,fname4,lname4,email4,action4,start-time4,end-time4 username5,fname5,lname5,email5,action5,start-time5,end-time5 username6,fname6,lname6,email6,action6,start-time6,end-time6 . . . //This can go 150000 records Now what we want is to transfer these huge records from...
  • agile icon

    A Better Analogy for Agile Software Development?

    For years, like many of you, I have been comparing software development to construction. But ever since adopting the agile methodology a decade ago, I have been looking for a better analogy to help me explain agile software development. I recently came up with what I think is that analogy...
  • development icon

    SphinxSearch | Full Text Searching

    This article explains how to use SphinxSE, Sphinx real time indexing, and set up Sphinx in order to improve search query performance.   First some background about issues surrounding full-text search. Why does someone need a full text search engine? A MySql database with over a million records will take a...
  • default icon

    Pizza & Beer:Learning with Atlassian

    As a new employee here at Source Allies and a new user to our suite of Atlassian products, I was fortunate, and a little intimidated, to attend Atlassian's 2013 Summit. Despite my initial trepidation, I left feeling inspired by what I learned. As a project manager/business analyst, I was worried that...
  • agile icon

    Pain Driven Learning

    I find that in software development, and also in life, people learn best within the context of painful experiences. I’m not suggesting that software development mentors go out of their way to create painful experiences for their teams. On the contrary, just start listening. It doesn’t take very long to identify...
  • agile icon

    Agile Iowa No Estimates Puzzle Experiment

    I facilitated my own rendition of the #NoEstimates Puzzle Experiment for the September 2013 Agile Iowa user group meeting. This experiment was created by Chris Chapman to generate critical thinking and conversation concerning whether estimates are necessary to produce quality software. The meeting had a great turnout, with around 40...
  • development icon

    Getting Started with Camel: Error Handling

    Error handling is tricky. Not because it's especially hard to do, but because everyone (operations, the business team, fellow programmers) seems to have a different idea of how a particular situation should be handled. A web service is down? No problem. You should try again every five seconds, but no...
  • agile icon

    Pragmatic Application of Principles

    I was reminded of a profound truth as I was re-reading Robert C. Martin's book "Agile Software Development, Principles, Patterns, and Practices", in C# this time. In this section Uncle Bob discusses the Single Responsibility Principle (SRP), which defines that a class should have only one reason, or axis, to change...
  • agile icon

    What you missed at Agile 2013

    I was able to attend the Agile 2013 conference in Nashville, TN earlier this month. I had previously attended Agile 2006 in Minneapolis, MN. There was a significant difference. At this year's conference, the overall theme seemed to be that teams needed to focus on producing value rather than following a...