Blogs
-
Agile in School I have recently been taking some graduate classes in the field of Information Technology Management. After the first few core classes, I have come to the conclusion that there are...
»
Chris Rohr | Agile Development | May 20, 2009 3:33 PM
-
Secrets of SharePoint 2010 Exposed at TechEd 2009 In case you aren't aware, the details of SharePoint 2010 are under tight wraps. If you asked any of the presenters at Tech Ed the typical response was "No...
»
Lee Richardson | .NET | May 17, 2009 10:42 PM
-
How to add a custom action to a SharePoint list actions menu for a specific list or content type. If you have ever tried adding a SharePoint custom action to the actions menu and tried using "List" or "ContentType" as the "RegistrationType" and then tried to specify a...
»
Joe Ferner | .NET | May 10, 2009 12:35 PM
-
Code Access Security Cheat Sheet I did short presentation on Code Access Security (CAS) a while ago and put together a cheat sheet to help remember the terms and how they fit together. It includes...
»
Lee Richardson | .NET | May 7, 2009 9:36 AM
-
Groovification Last week I tweeted about groovification, which is defined thusly: groovification. noun. the process of converting java source code into groovy source code (usually done to make development more...
»
Scott Leberknight | Groovy, Java | May 4, 2009 5:22 PM
-
Thinking Matters Aside from the fact that Oracle's Java Problem contains all kinds of factual and other errors (see the comments on the post) this sentence caught my eye in particular...
»
Scott Leberknight | General, Java | April 30, 2009 3:59 PM
-
Making SharePoint Title a Calculated Column All SharePoint lists start with a user editable "Title" column that ECB menu's hang off of and that is the default field to display in associated child tables. This works...
»
Lee Richardson | .NET | April 27, 2009 8:55 AM
-
Tuning the IBM JVM for large heaps Recently I have been rewriting a lot of our lucene search engine code for a web application that I'm currently supporting. Our physical environment is a little different than...
»
Aaron McCurry | General, Java, Lucene | April 24, 2009 8:53 PM
-
Groovy's Safe Navigation Operator Not as Safe as I Thought The safe navigation operator is almost certainly my favorite operator in Groovy. It allows you to guard against NullPointerException(s) much more cleanly than defining a nasty if/else mess. Consider the...
»
Jeff Kunkle | Groovy | April 14, 2009 6:50 AM
-
A little tuning can go a long way... The application that I'm current developing uses Lucene for searching and data retrieval. We recently had a rather special need to use one of the utility classes in Lucene, OpenBitSet. ...
»
Aaron McCurry | Java, Lucene | April 2, 2009 9:50 PM
-
Running VisualVM on a 32-bit Macbook Pro If you want/need to run VisualVM on a 32-bit Macbook Pro you'll need to do a couple of things. First, download and install Soy Latte, using these instructions - this...
»
Scott Leberknight | Java, Mac OS X | April 1, 2009 10:08 AM
-
Micro-optimization This is my attempt at micro-optimizing code that Jeff Atwood posted about micro-optimization. To summarize Jeff talks about 5 ways to do string concatenation and how the difference between them...
»
Joe Ferner | .NET | January 30, 2009 9:34 AM
-
Finding Holes in Rcov and JRuby "We're missing some coverage..." While creating coverage reports for a fairly new JRuby on Rails project, we noticed that our coverage numbers weren't quite right: certain classes were missing from...
»
Brian Montgomery | JRuby, Ruby, Testing | January 27, 2009 5:40 PM
-
Use DNS Search Domains for Shorter URLs While I was reading through some Apple documentation on Bonjour I stumbled across a discussion on link-local addressing and DNS search domains. While the details of link-local addressing aren't that...
»
Jeff Kunkle | General, Mac OS X | January 24, 2009 8:01 PM
-
Missing aop 'target' packages in Spring 3.0.0.M1 zip file Today I was mucking around with the Spring 3.0.0.M1 source release I downloaded as a ZIP file. I wanted to simply get the sample PetClinic up and running and be...
»
Scott Leberknight | Java | January 15, 2009 6:06 PM
-
Why and when I started using GNU Emacs Emacs is one of those polarizing topics among software developers. Maybe it's tripolar: Camp Emacs spars with Camp Vi to the great amusement of Camp Everyone Else. The heckling is...
»
Seth Schroeder | January 10, 2009 7:21 PM
-
Groovy + Spring = Groovier Spring If you're into Groovy and Spring, check out my two-part series on IBM developerWorks on using Groovy together with Spring's dynamic language support for potentially more flexible (and interesting) applications....
»
Scott Leberknight | Groovy, Java | January 6, 2009 11:23 PM
-
Is F# faster than C# Description I had a bet with a co-worker that C# would outperform F# for a simple counting exercise. This turned out to be quite a surprise for many reasons. In...
»
Joe Ferner | .NET | December 11, 2008 10:47 AM
-
An Exciting Future: C# 4.0, Silverlight 3, MVC Dynamic Data, Live Mesh, VS 2010, ... Last week I attended the Public Sector Developer Conference in Reston, Virginia. Summary: I can barely contain my excitement for just about everything Microsoft is doing right now for software...
»
Lee Richardson | .NET | December 8, 2008 10:45 AM
-
iPhone Bootcamp Summary So, after having actually written a blog entry covering each day of the iPhone bootcamp at Big Nerd Ranch, I thought a more broad summary would be in order....
»
Scott Leberknight | Mac OS X, iPhone | December 5, 2008 5:08 PM
-
iPhone Bootcamp Day 5 Today is Day 5 — the final day — of the iPhone bootcamp at Big Nerd Ranch, taught by Joe Conway. The last day of Big Nerd Ranch bootcamps are...
»
Scott Leberknight | Mac OS X, iPhone | December 5, 2008 4:19 PM
-
iPhone Bootcamp Day 4 Today is Day 4 of the iPhone bootcamp at Big Nerd Ranch, taught by Joe Conway. Unfortunately that means we are closer to the end than to the beginning....
»
Scott Leberknight | Mac OS X, iPhone | December 4, 2008 11:50 PM
-
iPhone Bootcamp Day 3 Today is Day 3 of the iPhone bootcamp at Big Nerd Ranch, taught by Joe Conway. See here for a list of each day's blog entries. Media Today we...
»
Scott Leberknight | Mac OS X, iPhone | December 3, 2008 11:53 PM
-
iPhone Bootcamp Day 2 Today is Day 2 of the iPhone bootcamp at Big Nerd Ranch. See here for a list of each day's blog entries. Localization After a nice french toast breakfast,...
»
Scott Leberknight | Mac OS X, iPhone | December 2, 2008 11:37 PM
-
iPhone Bootcamp Day 1 Today is the first day of the iPhone bootcamp at Big Nerd Ranch at Historic Banning Mills B&B in Whitesburg, GA. It is being taught by Joe Conway. My goal...
»
Scott Leberknight | Mac OS X, iPhone | December 1, 2008 10:39 PM
-
iPhone Bootcamp Blogs Check out my blog entries this week while I'm attending the iPhone bootcamp at Big Nerd Ranch. Day 1 Day 2 Day 3 Day 4 Day 5 Summary...
»
Scott Leberknight | Mac OS X, iPhone | November 30, 2008 12:00 AM
-
Get Comfortable Being Uncomfortable Renae Bair's post on The Ranting Rubyists hits a lot of nails on the head. I will freely admit to being a developer who is interested in continually learning...
»
Scott Leberknight | General, Ruby | November 25, 2008 4:54 PM
-
Applications Can't Use SharePoint Master Pages This is the story of stupid SharePoint problem and an ugly, kludgy, and embarrasing solution. On our project we have the need for an application that looks and feels like...
»
Lee Richardson | .NET | November 12, 2008 12:08 PM
-
Eight Miserable TFS Features I'd prefer to post a positive, happy, or ideally emotion-agnostic technical post, but today Microsoft Visual Studio Team Foundation Server (TFS)'s source control pissed me off one too many times....
»
Lee Richardson | .NET | November 6, 2008 10:39 AM
-
The Agile Attitude Part 1: Transparency Transparency: Implies openness, communication, and accountability Agile has always espoused the importance of transparency within the development team, but it is also important to be as transparent as possible with...
»
Jeff Borst | Agile Development | November 3, 2008 3:55 PM
-
Forget Burndown Use Burnup Charts Agile projects traditionally use burndown charts to visually show work remaining over time. This could be for the current iteration or it could be for the duration of the project....
»
Lee Richardson | Agile Development, General | October 23, 2008 10:41 PM
-
YSlow Rules and Tomcat 5.5 SSL A few weeks ago I attended The Rich Web Experience where I went to talks by Scott Davis and Nathaniel Schutta and heard about using YSlow to measure how well...
»
Robert Donaway | Java | October 21, 2008 8:14 AM
-
Polyglot Persistence In late 2006 Neal Ford wrote about Polyglot Programming and predicted the wave of language choice we are now seeing in the industry to use the right language for the...
»
Scott Leberknight | General | October 15, 2008 5:26 PM
-
Apache Commons Collections For Dealing With Collections In Java If you are (stuck) in Javaland, which for my main project I currently am, and you'd like a little of the closure-like goodness you get from, well, lots of other...
»
Scott Leberknight | Java | October 3, 2008 5:15 PM
-
Near Infinity and Mother Earth are BFF! That's right, NIC has made a best-friend-forever by treating our planet with the respect that it deserves (and it just sounds more fun than "Near Infinity is Going Green!"). When...
»
Anna Steele | General | October 2, 2008 4:41 PM
-
The "N matchers expected, M recorded" Problem in EasyMock EasyMock is a Java dynamic mocking framework that allows you to record expected behavior of mock objects, play them back, and finally verify the results. As an example, say you...
»
Scott Leberknight | Groovy, Java | September 30, 2008 5:43 PM
-
How to implement row level access control in Lucene Below I have written some fully functionally code that shows how you could implement row level access control in Lucene (2.3.2). Basically you have to index enough information to be...
»
Aaron McCurry | Java, Lucene, Security | September 27, 2008 9:08 PM
-
Day 3 of the JVM Language Summit By far the most entertaining and most thought provoking presentation of the JVM language summit was given by Erik Meijer (and by a large margin). Unfortunately, it was not...
»
Bryan Weber | Java | September 27, 2008 1:34 PM
-
Day 2 of the JVM Language Summit Well, how often do you get to speak to an employee of Sun, Google and Microsoft in the same day? And not just any employee, but some of their best...
»
Bryan Weber | Java | September 26, 2008 12:35 AM
-
Day 1 of the JVM Language Summit JVM Language Summit - Day 1 Day 1 of the JVM language summit in Santa Clara has come and gone. The agenda can be found at Agenda. The highlight of...
»
Bryan Weber | Java | September 24, 2008 11:57 PM
-
JavaScript Particle Engine in Canvas The most popular entry I've written at Near Infinity has been the JavaScript Particle Engine. It had limitations because I used transparent images and only made one color -- black. I recreated the fire demo for a talk -- Advanced Web Graphics with Canvas -- that I gave at the Rich Web Experience. I'll post the slides, sample code, and some more demos in upcoming entries.
»
Jason Harwig | JavaScript | September 23, 2008 7:24 PM
-
A whirlwind tour of Bloom filters What's a Bloom filter? A Bloom filter is a memory and cpu efficient way to remember which things have been seen and which haven't. They are more familiar than programmers...
»
Seth Schroeder | Ruby | September 7, 2008 1:53 PM
-
Lucene is a memory hog! Let me start by saying that, I like Lucene, I have used it to solve many technical problems on my current project. But one aspect of Lucene that I have...
»
Aaron McCurry | Java, Lucene | September 3, 2008 10:29 PM
-
Using a Hibernate Interceptor To Set Audit Trail Properties In almost every application I've done, the database tables have some kind of audit trail fields. Sometimes this is a separate "audit log" table where all inserts, updates, deletes, and...
»
Scott Leberknight | Java | August 27, 2008 11:47 AM
-
JSF Editable Datatable I recently needed to create a "JSF Editable Datatable" where all fields (or a subset) could be edited at once. Here's what I came up with... My requirements: Use...
»
Michael Bevels | General | August 26, 2008 3:55 PM
-
Cloud-Oriented Architecture With all the hype this year about cloud computing and things like Amazon EC2/S3 as well as Google App Engine and Bigtable, you can feel it coming. Soon vendors will...
»
Scott Leberknight | General | August 18, 2008 11:04 AM
-
Validating Domain Objects in Hibernate Part 6: Integration With Web Frameworks This is the final (and way, way overdue) article in a series of blogs describing how you can effectively use Hibernate validators. The fifth article described how to bypass Hibernate...
»
Scott Leberknight | Java | August 13, 2008 11:02 AM
-
Silverlight: Cannot specify both Name and x:Name attributes I received the following error while upgrading from Silverlight beta 1 to beta 2: Cannot specify both Name and x:Name attributes. I'm sure there can be many causes, but since...
»
Lee Richardson | .NET | August 11, 2008 11:58 PM
-
DEFCON Badge Hacking I wrote my first firmware for the DEFCON badge. Doesn't do much other than replace the default Knight Rider LED sequence with my own, but it's a first step....
»
Joe Ferner | General | August 10, 2008 5:37 AM
-
DEFCON Day One It would probably be more interesting to blog about my numerous traveling mishaps (summary: never stay at Circus Circus however close it may be to your conference), but I thought...
»
Lee Richardson | General | August 9, 2008 10:17 AM
-
Unit Testing Google App Engine Applications I have been working on an application to be hosted by Google App Engine (GAE). Initially it was just an experiment, so I didn't think about automated testing. As it...
»
Steven Farley | General | July 29, 2008 11:50 PM
-
Project Euler problem 10 meets the sieve of Eratosthenes Problem 10 of Project Euler is to sum the prime numbers less than two million. Solutions are supposed to take no more than one minute, so a decent prime number...
»
Seth Schroeder | Ruby | July 22, 2008 11:35 PM
-
JSF - Dynamically Adding UIComponents To A Form Here's a quick and easy way to dynamically add JSF components to a page. You'll need a jsp, a backing bean, and a jsf component library. On the jsp,...
»
Michael Bevels | General | July 21, 2008 10:25 AM
-
When planning goes right and the customer reaps the rewards.. Preface As a software engineer, you (hopefully) strive to design things in a such a way that they first and foremost satisfy the customer's requirements. But a close second is...
»
-
Groovy Fun With ObjectRange I ran into a situation the other day with Groovy that baffled me at first. Let's create a range from 0.0 to 10.0 and then use it to check if...
»
Scott Leberknight | Groovy, JRuby | June 25, 2008 3:34 PM
-
Just How Does Spring Do Its Classpath Component Scanning Magic? One really cool feature in Spring 2.5+ is classpath component scanning. For example, instead of manually defining and wiring up all the beans comprising your Spring-based application, you simply add...
»
Scott Leberknight | Java | June 23, 2008 5:56 PM
-
Creating Executable JARs using the Maven Assembly Plugin On a current project I needed to create an executable JAR that does a bunch of processing on collections of files. As with most projects, I rely on a bunch...
»
Scott Leberknight | Java | June 18, 2008 1:59 PM
-
Dynamic Trees in JSF - The Easy Way Another JSF project I've been working on required another dynamic JSF tree. However, this time the component library being used was IceFaces. If you recall, the last time I...
»
Michael Bevels | General | June 17, 2008 8:50 AM
-
Well formed parenthesis pairs A friend came to me recently and posed an interesting problem. Given a number n how many valid balanced open/close parenthesis combinations are there? Examples: n == 4 ()()...
»
Bryan Weber | General | June 16, 2008 12:08 AM
-
JavaScript Obscured (How to confuse coworkers) I was reading a blog entry at Web Reflection that outlined some obscure solutions to common JavaScript patterns. I thought that entry was interesting, but I'm not sure I'd use...
»
Jason Harwig | JavaScript | June 5, 2008 8:19 PM
-
Chris's Blog Bytes - Best of both worlds: Hot and orderly deployment The Problem: On a project I am currently involved in, the architecture is such that 6 web applications are dependent on the same managing (JNDI populating) application. This means the...
»
-
A Major Silverlight PITA and Two Annoying 3.0 Limitations Pardon my rant, but the thing I currently hate most about Silverlight (besides copious XML) is the Visibility property. Any sane framework would implement Visibility as a Boolean. Not Silverlight...
»
Lee Richardson | .NET | May 27, 2008 8:52 AM
-
RemoteLINQ - How to make your LINQ span the globe .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: Consolas, "Courier New", Courier, Monospace; } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd...
»
Joe Ferner | .NET | May 22, 2008 2:39 PM
-
Verify EasyMock Behavior When Expecting Exceptions Often when writing unit tests I use EasyMock to mock dependencies of the class under test. And many times I need to test that a certain type of exception is...
»
Scott Leberknight | Groovy, Java, Testing | May 13, 2008 2:51 PM
-
Performance: LINQ to XML vs XmlDocument vs XmlReader .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: Consolas, "Courier New", Courier, Monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color:...
»
Joe Ferner | .NET | May 1, 2008 11:31 AM
-
What Happens To Lucene When You Go Big... Part 1 My current project has some unique searching requirements. Requirements Fuzzy searching is a must (Soundex, Levenshtein, etc.) Has to be fast, a must with any searching solution Has to provide...
»
Aaron McCurry | Java, Lucene, Security | April 30, 2008 1:30 PM
-
Column Oriented Databases What is it? A column oriented database (or a column store database) is a database that stores it's information in a column oriented manor, instead of a row oriented manor....
»
Aaron McCurry | General | April 30, 2008 12:00 PM
-
Configuring easyb with maven 2 (maven-easyb-plugin) If you aren't familiar with BDD then this blog isn't for you. If you've used RSpec or you have read a little about BDD and you want to kick the...
»
Bryan Weber | Groovy | April 29, 2008 5:29 PM
-
ProjectEuler problem 1 in C, Groovy, Lisp, Perl, Python, and Ruby Updated 2008-05-02: new Python implementation using sum() -- thanks Pete! My blog post about the first problem in Project Euler went strange places. I was just trying to learn Python...
»
Seth Schroeder | Groovy, Java, Ruby | April 29, 2008 8:37 AM
-
Groovier Processing Introduction Processing is a basically a proprietary Java-like language compiled into Java bytecode and used for generating dynamic and interactive data visualizations. Though still in its infancy, it seems to...
»
Chris Rohr | Java | April 26, 2008 12:00 AM
-
Passing Params to a New Window with JSF Here's what I wanted to accomplish: A user performs a search. The user sees a list of results. The user clicks on a "details" link for a single record in...
»
Michael Bevels | General | April 23, 2008 2:35 PM
-
Addition to scala pattern matching I recently posted a blog post about scala pattern matching. It is intended to be an introduction to pattern matching concepts using Scala as the implementation. I have been writing...
»
Bryan Weber | April 22, 2008 5:51 PM
-
Dynamic Trees in JSF A JSF project that I've been working on required a dynamic tree. Not just a tree that loads dynamically, but a tree that a user can perform CRUD operations...
»
Michael Bevels | General | April 22, 2008 2:15 PM
-
Nice, Python. Edit 2008-04-29: more and better results available here. I've been waffling about glancing at Python. It comes off as a little ... dry? Indentation drives scope? I was afraid it...
»
Seth Schroeder | April 21, 2008 11:26 PM
-
Data Visualization and Processing I've been interested in data visualization for a long time now, probably because I have backgrounds in both programming and art. After a quick look at the kind of output...
»
-
Add a little Velocity to the speed of those Word exports In a few of the corporate environments I've been privileged to be a developer within, I have been exposed to the ever popular requirement of the user needing a web...
»
-
What Not To Show a User Quick rule of thumb: Don't show users cryptic error messages. This one was an error I recently received at a major airline's web site while checking in online for a...
»
Scott Leberknight | General, Security | April 12, 2008 4:00 PM
-
Improving CSS Of the trinity of web technologies, CSS is by far the worst at this stage. It's a language that begs for more power. Wouldn't it be cool if you could...
»
Jason Harwig | CSS | April 10, 2008 4:57 PM
-
Cocoa Bootcamp at Big Nerd Ranch Last week I went to the Cocoa Bootcamp at the Big Nerd Ranch. It was held outside Atlanta at the Historic Banning Mills country inn in Whitesburg, GA - pretty...
»
Scott Leberknight | Mac OS X | April 10, 2008 11:17 AM
-
Scala Pattern Matching Scala has pattern matching... so what's the big deal? If you are a Java developer the power of pattern matching will probably be lost on you at first, but after...
»
Bryan Weber | April 3, 2008 11:06 PM
-
Good article about character encodings. I hate blogs that are just links to other blogs, but here's an article about character encodings that everyone should take a look at if you don't have a good...
»
-
Expression Trees: Why LINQ to SQL is Better than NHibernate In my last post I described how the Where() function works for LINQ to Objects via extension methods and the yield statement. That was interesting. But where things get crazy...
»
Lee Richardson | .NET | March 27, 2008 4:59 PM
-
JUnit4 Tests in Groovy On my current (Java-based) project we now write all new unit tests in Groovy, though there are a lot of legacy Java tests still out there that we haven't had...
»
Scott Leberknight | Java, Testing | March 21, 2008 9:03 AM
-
Wackiness With String, GString, and Equality in Groovy We ran into this one today while writing a Groovy unit test. Check out the following GroovyShell session: groovy:000> test = [] ===> [] groovy:000> (1..10).each { test << "Item...
»
Scott Leberknight | Groovy | March 20, 2008 2:44 PM
-
Dumping the Maven Groovy Plugin On my current project we are using Maven2 (yeah, yeah I know) which I become less and less happy with over time. That's not the point of this blog though....
»
Scott Leberknight | Groovy | March 19, 2008 4:07 PM
-
Java Versus Ruby/Rails Books Revisited...It Was Only A Matter Of Time Remember when the big joke was to compare the book stacks of a typical Java web developer with that of a Ruby/Rails developer? I suppose it was only a matter...
»
Scott Leberknight | General | March 18, 2008 12:19 PM
-
How System.Linq.Where() Really Works After writing my last blog entry on Deferred Execution in LINQ I had a conversation with Seth Schroeder who rightly pointed out among other things that I really didn't show...
»
Lee Richardson | .NET | March 14, 2008 2:53 PM
-
Scala and Maven with maven-scala-plugin Ok, so the documentation for maven-scala-plugin isn't quite perfect. To save you some time, here is a fully functional pom.xml file that works as of March 6, 2008. <?xml version="1.0"...
»
Bryan Weber | March 7, 2008 12:01 AM
-
A Grails plugin for fuzzy string matching Long ago at a company which shall not be named, I made the mistake of shunning contemporary technology. Never again! Since Near Infinity honors its training commitment I was able...
»
Seth Schroeder | Grails | February 27, 2008 11:36 PM
-
JVM Concurrency with Scala Actors Concurrency in Java is a nightmare. I used to think that when I first started using threads. After getting the hang of it a little I thought maybe, just...
»
Bryan Weber | February 22, 2008 11:43 PM
-
SecurityException Running Groovy Scripts with JetGroovy IntelliJ Plugin Yesterday before leaving for home I happily upgraded the JetGroovy plugin to the latest and greatest version 1.0.14394 (on Mac OS X Leopard). Up until now, I've had great luck...
»
Scott Leberknight | Groovy | February 20, 2008 4:22 PM
-
Deferred Execution, the Elegance of LINQ One of the things I love about LINQ is its deferred execution model. It's the type of thing that makes sense academically when you first read about it (e.g. in...
»
Lee Richardson | .NET | February 20, 2008 9:45 AM
-
Groovier Spring at the Groovy/Grails Experience I am not very good at the self-promotion thing, mainly because there are so many other people out there way, way smarter than I am. But in this case I'll...
»
Scott Leberknight | Groovy | February 14, 2008 7:06 PM
-
Daily RSS Download I published Daily RSS Download, my first open source project on CodePlex* today. It's not going to change the world, but if you have a need for it there is...
»
Lee Richardson | .NET | February 14, 2008 11:29 AM
-
Java Logging Revisited I know this goes against the collective wisdom of Java developers everywhere, but I'll say it anyway: Java Logging is not so bad. Granted, its API isn't as simple as...
»
Steven Farley | Java | February 9, 2008 4:36 PM
-
Testing data -- get everything you want, none of what you don't I believe that most software tests favor code over data. It might be an issue of tools; code testing tools are easy to use, have aggressive ide and framework...
»
Seth Schroeder | February 5, 2008 12:49 PM
-
XIncludes using Java OK, this isn't a lot of code, but seriously, it took two days to write. The documentation on how to do an XSL style XInclude in Java is pretty much...
»
-
Server-side JavaScript and Jaxer The web community has been buzzing about the new Ajax server, Jaxer, from Aptana. If you haven't heard see John's, or Dion's Ajaxian posts about it. Now, overall, I am...
»
Jason Harwig | JavaScript | January 23, 2008 1:36 PM
-
Creating data in groovy with builders We often have the need to create data. We use data for integration tests, to populate database tables in production for releases, and many, many other reasons. This article...
»
Bryan Weber | Groovy | January 9, 2008 10:24 PM
-
GPath versus XPath The Purpose I have never been impressed by the XML support supplied by Java. The DOM and SAX APIs seem overly complex for basic XML parsing. Even using XPath in...
»
Steven Farley | Java | January 7, 2008 2:09 PM
-
Use Caution when Mixing JUnit 3 and 4 Quick quiz, what is the output from the following JUnit test? package com.nearinfinity.sandbox; import junit.framework.TestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; public class ModelTest extends TestCase { @Before public void...
»
Jeff Kunkle | Java | December 31, 2007 7:30 AM
-
Groovy cosine similarity in Grails I really appreciate Matt and Bob showing me significantly better ways to compare strings. Yet another perk of working for this company :) I've been spending time with grails lately....
»
Seth Schroeder | Grails, Groovy | December 1, 2007 7:41 PM
-
Filtering JavaScript From HTML Content in Java (Sanitizing user input) I gave a JavaScript security talk last month, and one of the topics was HTML filtering. I gave examples of how MySpace tried to filter executable code, while still allowing...
»
Jason Harwig | Java, Security | December 1, 2007 3:56 PM
-
Application Versus Database Security The merits of placing security in the application layer versus the database is a debate I seem to find myself in regularly. As an application developer, I've historically argued...
»
Jeff Kunkle | Security | November 26, 2007 7:30 AM
-
Unit Testing: Avoiding Extremism I've recently been working on Java code that calls a couple of web services to update another system when the data in our system changes. I used a tool to...
»
Robert Donaway | Java | November 21, 2007 1:15 PM
-
The Not-So-SimpleDateFormatter This posting is Part 1 of 2 related to using Dates in Java webapps. Problem Your application has a form with a date entry on it. This entry needs to...
»
Chris Rohr | Java | November 11, 2007 5:30 PM
-
JavaScript Security Slides from No Fluff Just Stuff I spoke at the Reston, VA No Fluff Just Stuff conference again this past weekend. The talk was on JavaScript security covering topics including:
Cross-site scripting (XSS)
Cross-site-request forgery (CSRF)
JSON Hi-jacking
JavaScript portscanning
JavaScript and CSS History "Go Fish"
Slides below...
»
Jason Harwig | JavaScript, Security | November 8, 2007 7:38 PM
-
RubyConf 2007 Day 3 Highlights of day 3 for me: Adhearsion RSpec Solr Metasploit Adhearsion VOIP library built on top of Asterisk (which sounds awful to have to use). Demos were cool. Test coverage...
»
Bryan Weber | Ruby | November 5, 2007 10:58 PM
-
RubyConf 2007 Day 2 Highlights of day 2 for me: IronRuby, JRuby and Rubinius Mac OS X Loves Ruby Matz Keynote MRI (CRI) vs. IronRuby vs. JRuby vs. Rubinius vs. YARV IronRuby, JRuby and...
»
Bryan Weber | Ruby | November 3, 2007 8:43 PM
-
RubyConf 2007 Day 1 Day 1 of RubyConf 2007 is complete. Highlights of the day for me were: Jim Weirich's presentation on Advanced Ruby Class Design Nathan Sobo's presentation on Treetop Ryan Davis' presentation...
»
Bryan Weber | Ruby | November 2, 2007 8:49 PM
-
Validating Domain Objects in Hibernate Part 5: Bypassing Validation To Save "Draft" Objects This is the fifth in a series of short blogs describing how the Hibernate Validator allows you to define validation rules directly on domain objects. In the fourth article I...
»
Scott Leberknight | Java | October 23, 2007 10:45 PM
-
Writing testable Java code with stateless collaborators Writing testable Java code is an often discussed topic that has been covered ad nauseam. So what could another blog post possibly contribute? Well, I've been following a simple pattern...
»
Bryan Weber | Java | October 23, 2007 12:03 AM
-
Testing JavaScript Objects with Function.prototype.call This is a short tip that I found useful for testing complex JavaScript objects using crosscheck. For more information on crosscheck see my article on JavaScript Unit Testing with Crosscheck....
»
Jason Harwig | JavaScript, Testing | October 11, 2007 6:33 PM
-
Finding similar strings using character level bigrams Earlier I looked at soundex as a more robust way of comparing strings. Soundex was more robust than case & space normalizing... but it missed somethings I wanted and found...
»
Seth Schroeder | SQL | October 8, 2007 11:49 PM
-
JavaScript Unit Testing with Crosscheck Here we are, a couple years since Ajax was coined, JavaScript has become a language that people actually respect. The code being written now is better than ever before. Object-orientation,...
»
Jason Harwig | JavaScript, Testing | October 8, 2007 3:08 PM
-
Validating Domain Objects in Hibernate Part 4: @NotNull and @NotEmpty This is the fourth in a series of short blogs describing how the Hibernate Validator allows you to define validation rules directly on domain objects where it belongs. In the...
»
Scott Leberknight | Java | October 5, 2007 1:22 PM
-
Validating Domain Objects in Hibernate Part 3: Creating Your Own Validator This is the third in a series of short blogs describing how the Hibernate Validator allows you to define validation rules directly on domain objects where it belongs. In the...
»
Scott Leberknight | Java | September 28, 2007 12:25 AM
-
Views keep your SQL queries DRY A SQL view is a SELECT statement stored in the database which can be used like a table. So... what? Well, some of the benefits include: Syntax verified before deployment...
»
Seth Schroeder | SQL | September 22, 2007 2:46 AM
-
Validating Domain Objects in Hibernate Part 2: Enabling Validation This is the second in a series of short blogs describing how the Hibernate Validator allows you to define validation rules directly on domain objects where it belongs. In the...
»
Scott Leberknight | Java | September 17, 2007 12:56 PM
-
Validating Domain Objects in Hibernate Part 1: Introduction This is the first in a series of short blogs showing how you can use Hibernate to validate your domain objects. Here I'll provide a brief introduction to validating your...
»
Scott Leberknight | Java | September 10, 2007 2:22 PM
-
Counting beignets: Soundex, Levenshtein, or case & space bashing? One of the unpleasant tasks on my to-do list is improve the process of searching by name in a database. A parade of errors are just around the bend: transposed...
»
Seth Schroeder | Ruby | September 6, 2007 11:13 PM
-
Create Data Disaster: Avoid Unique Indexes (Mistake 3 of 10) I really enjoyed Seth Schroeder's critique of the last post in my ten part data modeling mistake series: Surrogate vs Natural Primary Keys. His argument regarding data migration in particular...
»
Lee Richardson | General, SQL | August 30, 2007 7:54 PM
-
Programming challenge #1: 3n + 1 One of the reasons I joined Near Infinity is the annual allowance of $500 for books, subscriptions, and software. This made it a no-brainer to get a copy of "Programming...
»
Seth Schroeder | Ruby | August 26, 2007 6:34 PM
-
Unicode code points vs code units What's the difference between a Unicode code point and a code unit? Roughly, code points are for people and code units are for computers. It takes five code points to...
»
Seth Schroeder | General | August 23, 2007 10:53 PM
-
Surrogate Keys - Data Modeling Mistake 2 of 10 In case you're new to the series I've compiled a list of ten data modeling mistakes that I see over and over that I'm tackling one by one. I'll be...
»
Lee Richardson | General, SQL | August 16, 2007 8:08 AM
-
Review of The Definitive Guide to Grails I've found myself a bit bored with web application development lately. I've been itching to do something significant with Ruby on Rails for quite some time but always find...
»
Jeff Kunkle | Grails | August 15, 2007 9:11 AM
-
JRuby script in a signed jar OK, let's dive into the world of JRuby a little further, specifically let's touch on the boundary between Java and JRuby again. One excellent way to run JRuby for certain...
»
Bryan Weber | JRuby | July 30, 2007 9:28 PM
-
Sync Your Database to SharePoint Using SSIS Just a heads up that DevX just published an article of mine today. The article is entitled Sync Your Database to SharePoint Using SSIS. The article covers how to import...
»
Lee Richardson | .NET | July 30, 2007 6:47 PM
-
Spring Tip: Don't Explicitly Call Setter Methods Spring has many setter methods in its classes. For example, take a look at the Hibernate support class HibernateTemplate and the Spring MVC base controller BaseCommandController. This tip is very...
»
Scott Leberknight | Java | July 25, 2007 1:25 AM
-
Referential Integrity - Data Modeling Mistake 1 of 10 In my mind data models are like the foundations of a house. Whether you use ORM or a more traditional modeling tool, they form the base of the entire rest...
»
Lee Richardson | General, SQL | July 18, 2007 7:02 PM
-
Enforce Required Dependencies in Spring 2.0 Spring 2.0 added the @Required annotation that allows you to define which bean properties are required to be injected. In combination with the RequiredAnnotationBeanPostProcessor, Spring will blow up at application...
»
Scott Leberknight | Java | July 10, 2007 6:28 PM
-
Configuring JRuby in IntelliJ IDEA 6.0.5 So you know Java, you've played around with Ruby and now you are interested in trying out JRuby in your favorite IDE (which naturally is IntelliJ IDEA) or maybe you...
»
Bryan Weber | JRuby | July 4, 2007 10:20 PM
-
Grails adds layers -- cake or onion? Grails has big hopes. It hopes to find a place for Groovy in every tier of a Java-based webapp. It hopes to vanquish configuration files by enforcing implicit requirements /...
»
Seth Schroeder | Grails, Java | June 12, 2007 9:43 PM
-
An Entity Relationship Diagram Example It seems like a dying art, but I still strongly feel that Entity Relationship Diagrams (ERD) should be the starting point of all software development projects. Since they are for...
»
Lee Richardson | General, SQL | June 7, 2007 12:38 AM
-
Do You Unit Test Getters and Setters? Since Java has no notion native syntax for declaring properties you have to write explicit getter and setter methods, or hopefully you never write them but rather you have your...
»
Scott Leberknight | Java, Testing | May 31, 2007 11:06 AM
-
Dirt Simple Mock Objects In Groovy I've just started on a new project and of course we want to ensure all, and I really mean all, our code is tested. Now, this being a Java project...
»
Scott Leberknight | Groovy, Testing | May 31, 2007 1:21 AM
-
Learning to code Groovy Java My introduction to Groovy Contents: Intro Code Results Code review Tools Conclusion Side notes Idiomatic Groovy code looks and works like a mash-up of Java and Ruby... JRuby would...
»
Seth Schroeder | Groovy, Java | May 22, 2007 3:37 PM
-
Quick and dirty SQL histogram Sometimes you really want a quick & dirty histogram while looking through a database: when you suspect the mean value is misleading when you want to understand how the values...
»
Seth Schroeder | SQL | May 15, 2007 2:57 PM
-
Export Visio Database Table Names to Excel If you use the Enterprise Architect edition of Microsoft Visio for data modeling regularly, then there is a good chance that at some point you've wanted to export just the...
»
Lee Richardson | General, SQL | May 10, 2007 6:23 PM
-
Client vs. server: who does what in an online spreadsheet? "Data elements" are the focus of Section 5.2.1 of Dr. Fielding's dissertation. I think the focus is who does how much work to render the data. He lists three options:...
»
Seth Schroeder | Spreadsheets | May 10, 2007 5:29 PM
-
CAML: Nested Too Deep I discovered an interesting error recently while working with Microsoft's Collaborative Application Markup Language (CAML) that, surprisingly, had received no ink. Partly what surprises me about this is that the...
»
Lee Richardson | .NET | May 4, 2007 1:04 PM
-
Introduction to PDF::TechBook Recently I had an interest in producing PDF documents using Ruby on Rails. A quick Google search brought me to a Ruby PDF library called PDF::Writer for Ruby written...
»
-
NFJS in general and JRuby in specific Several of the NearInfinity developers went to the Reston stop of the No Fluff Just Stuff conference. Some of the conferences were especially interesting. It was thrilling to hear strong,...
»
Seth Schroeder | JRuby, Java | April 30, 2007 6:43 PM
-
Using jps to Find JVM Process Information Recently I wrote a little Rails app that allows people to remotely start/stop/restart CruiseControl and view the output logs on my development workstation, since people don't have access to my...
»
Scott Leberknight | Java | April 25, 2007 4:54 PM
-
REST Network API for an online spreadsheet Every spreadsheet application needs to support the creating, reading, updating, and deleting of sheets, columns, rows, and cells. The network protocol for an online spreadsheet could easily treat sheets, columns,...
»
Seth Schroeder | General | April 25, 2007 4:36 PM
-
C# 3.0: The Sweet and Sour of Syntactic Sugar I've just started reading the blog of Scott Guthrie who is a general manager at Microsoft and is currently writing about the new C# 3.0 (code named Orcas). The post...
»
Lee Richardson | .NET | April 25, 2007 1:51 PM
-
Parameter passing in C# The topic of parameter passing in C# keeps coming up, and so I thought this post might be useful. It's been my most popular post on my rapid application development...
»
Lee Richardson | .NET | April 23, 2007 5:34 PM
-
Rails edge finally supports Query Caching I just learned about a feature in Rails that I've been wanting for a long time. In the past, if you were to run two identical database queries in a...
»
Andrew Avenoso | Ruby | April 20, 2007 1:26 PM
-
Finding a Ruby IDE Recently I've spent some time revisiting and learning more about Ruby on Rails. In doing so I wanted a decent editor to work with. This article is about my...
»
-
Solid State Encrypted Drives - The next big thing? I've noticed two topics generating a lot of buzz in the storage world lately. Hardware-Encrypted Disk Drives Solid State Disk Drives I believe the first topic is a direct result...
»
Jeff Kunkle | Security | April 15, 2007 9:10 PM
-
Multi Value Columns Solution #2 - Custom Activities in SPD In the previous post in this series (Multi-Value Columns in SharePoint Designer - Solution #1), I described a problem where SharePoint Designer can't send e-mail to multiple recipients if those...
»
Lee Richardson | .NET | April 15, 2007 12:26 PM
-
Inkscape versus Illustrator: The SVG file size throwdown I tried a simple test today. I created identical graphics in Inkscape and Illustrator. Both had the same canvas size, same colors, shapes and text. Here's what the simple graphic...
»
Caroline Wizeman | General | April 11, 2007 8:11 PM
-
Mapping a universal comment table using Hibernate 3.0 I have used Hibernate on several projects that required the users be able to enter rich text comments for many of the major domain objects. In each case there needed...
»
Robert Donaway | Java | April 10, 2007 6:00 PM
-
Multi-Value Columns in SharePoint Designer - Solution #1 Recently I've been working with Microsoft Office SharePoint Server (MOSS) 2007. Since this is my first post on the topic I'd love to start at a high level about...
»
Lee Richardson | .NET | April 9, 2007 12:58 PM
-
Rails Without a Database Last week I needed to write a simple web application that would allow others on my team to control a process on my workstation when I wasn't around. Essentially I...
»
Scott Leberknight | Ruby | April 7, 2007 11:37 PM
-
REST vs. SOAP vs. POX vs. TBD I have jumped into the fray of trying to sort out REST from SOAP from POX. Here are my initial opinions: REST: Fielding's introduction [1] lays out constraints and why...
»
Seth Schroeder | General | April 5, 2007 12:57 PM
-
Can we all just agree on a definition of Web 2.0? Ask any group of developers, designers, project managers, and executives to articulate what Web 2.0 is, and you're likely to get as many different answers as there are people....
»
Caroline Wizeman | General | April 4, 2007 8:54 PM
-
IntelliJ Type Renderers When debugging in IntelliJ you may need to inspect byte arrays as these byte arrays may contain meaningful text. Out of the box individual byte array values will be...
»
-
SVN Revision Numbers in Ant Yesterday at work, a coworker called and asked for some ideas on how to read the Subversion revision number of a sandbox from within an Ant build script. Doing...
»
Matt Wizeman | Ant | March 31, 2007 10:06 PM
-
Update Mac OSX split for Pieces Larger than 2GB and Greater Split is a very useful command-line utility for breaking large files into smaller pieces. Unfortunately, the version Apple ships with OSX 10.4 cannot split files into pieces 2GB or larger....
»
Jeff Kunkle | Mac OS X | March 30, 2007 10:26 AM
-
Let's Play "Who Owns That Collection?" With Hibernate If you have used Hibernate and mapped a one-to-many relationship you've probably come across the "delete orphan" feature. This feature offers cascade delete of objects orphaned by code like the...
»
Scott Leberknight | Java | March 28, 2007 11:11 PM
-
LoggerIsNotStaticFinal For anyone who uses PMD, the title of this blog appears in their list of PMD errors if they don't declare their loggers static and final. Specifically, the LoggerIsNotStaticFinal rule...
»
Scott Leberknight | Java | March 27, 2007 11:01 PM
-
Entity Naming Conventions It seems as though as software developers mature they develop consistency in their approach to just about every aspect of their work, regardless if there is a good reason for...
»
Lee Richardson | SQL | March 26, 2007 10:14 AM
-
Logging into Mac OS X Hidden Administrator Accounts Every once in a while I need to login to a hidden administrator account on my Mac. It's a simple process after you invest lots of time trying to remember...
»
Jeff Kunkle | Mac OS X | March 24, 2007 12:20 PM
-
Performance of Guarding Debug Log Statements A few days ago, some people in the office were debating the value of our time honored tradition of guarding debug log statements. If you're not sure what I'm talking...
»
Jeff Kunkle | Java | March 14, 2007 8:37 PM
-
Checkpointed Backups in OS X with rsnapshot Starting a backup routine is hard. I wanted a backup solution that did the following: Runs automatically every night Backup OS X resource forks correctly Maintain creation/modification times for backup...
»
Jason Harwig | Mac OS X | March 6, 2007 5:30 PM
-
Where's That Class Coming From? Fun things happen in Java when you have the same class in two different places in your CLASSPATH. For example, maybe your application server has decided to bundle an open...
»
Scott Leberknight | Java | March 2, 2007 6:27 PM
-
A Few Eclipse Tips For Keeping Your Hands on The Keyboard I now use mainly Eclipse when coding in Java and hate when I have to use the mouse to perform some task as it normally slows me down. Some of...
»
Scott Leberknight | Java | February 27, 2007 6:46 PM
-
Prototype.js Documentation Site Launched It seems that Encytemedia was successful in their "Call for Prototype Documentation" blog posted in the old year. The site lives at prototypejs.org and should help new and experienced users...
»
Jason Harwig | JavaScript | January 18, 2007 5:37 PM
-
Thumbnail Generation Gotchas For a recent release of our software we had a requirement to generate and store thumbnail images. We have documents that come in to our system with image attachments...
»
-
Building Subversion (SVN) 1.4.2 on Mac OS X Today I needed to install Subversion on my Macbook running OS X and was following Dan Benjamin's excellent instructions for accomplishing this task. The main difference was that I wanted...
»
Scott Leberknight | Mac OS X | November 30, 2006 7:03 PM
-
Start with Something New To one extent or another, I've been involved with many projects whose goal was to replace an existing system while adding some new features. On the surface, these sound like...
»
Jeff Kunkle | General | November 29, 2006 9:25 PM
-
Firebug 1.0 Features announced Looks like Joe Hewitt has been busy. Firebug now has it's own site at getfirebug.com. The new site shows the features for Firebug 1.0 which seem like a giant leap...
»
Jason Harwig | JavaScript | November 16, 2006 11:09 AM
-
Javascript Particle Engine Javascript particle Engine Updated: Particle Engine using Canvas I was at the No Fluff Just Stuff Software Symposium in Reston, VA this past weekend and had some time in between...
»
Jason Harwig | JavaScript | November 7, 2006 11:28 PM
-
Javascript Puzzler Here's an interesting bug in Internet Explorer I ran across today: When using window.location to go to a named anchor inside of an iframe, using a String object versus...
»
Jason Harwig | JavaScript | August 4, 2006 7:38 PM
-
Java 5 Covariant Return Types in StringBuilder Recently I came across a couple of pretty interesting things in Java 5. The StringBuilder class was introduced in Java 5 as an unsynchronized version of the rather ubiquitous StringBuffer...
»
Scott Leberknight | Java | July 21, 2006 2:08 AM
-
Maintaining Legacy EJB Code...Not Fun This past week I started adding a new set of features to a legacy EJB 2.x application that I wrote circa-2002 and which follows Core J2EE Patterns to the letter....
»
Scott Leberknight | Java | July 12, 2006 11:59 PM
-
NotNull Hibernate Annotation Validation Problems I recently decided to try out Hibernate's annotation-based validation framework. It seems like a great solution for ensuring consistent validation of the domain model regardless of the presentation tier...
»
Jeff Kunkle | Java | July 11, 2006 8:59 AM
-
Java3D 1.5 on Mac OS X the waiting game No matter what apple says about Java development on the Mac, I always hated the waiting game before I could use some new Java API. First, it...
»
Jason Harwig | Java, Mac OS X | June 28, 2006 8:19 PM
-
Firebug without Firefox The problem.. If I had been allocated one Firefox extension to use, without hesitation it would be Joe Hewitt's Firebug. But, eventually, I have to test my code in IE...
»
Jason Harwig | JavaScript | June 25, 2006 3:52 PM
-
XSS Vulnerabilities of JSP 2.0 Expressions JSP 2.0 introduced a handy new capability allowing you to use JSP Expressions directly within the template text (i.e. outside of tag libraries or tag files) of a web page....
»
Jeff Kunkle | Security | June 25, 2006 3:46 PM
-
Browser settings across multiple computers One of the problems that I have with my computers is keeping the settings the same across all of them. I have my desktop, laptop, and work computer and would...
»
Andrew Avenoso | General | June 22, 2006 12:07 PM

