Author: ajepst
-
Winforms (and WPF) Testing
Those of us who primarily work on web projects have a fairly good idea of what’s available for automating UI testing of web applications; Selenium and WatiN, for instance. At Headspring, we take this up a level by isolating our UI testing code from the nuts and bolts of the page HTML, as well as the equally troublesome…
-
On Learning
As programmers, we work in a discipline that is a bit different from that of many other people we know. Many other disciplines have developed to a point of reasonable maturity and stability, with a broad, long-agreed-upon base of knowledge, educational path, and perhaps even certification of some kind to show mastery. Programming, on the…
-
NHibernate and Composite Keys
Composite IDs are a common pain point a beginning NHibernate user runs into. Here’s everything you need to get them up and running. First, a caveat: composite keys are certainly mappable in NHibernate, but it’s a little trickier than a typical single identity key would be. Compared to a normal key, there’s some extra setup…
-
NHibernate Caching and Assigned Ids – A Potential Pitfall
Yesterday, I spent some time setting up and optimizing SysCache2 caching. (By the way, if you’re doing this kind of NHibernate tuning, NHProf – a devlicio.us friend – is crucial, it would have definitely been a much tougher slog without it) With caching turned on, one of our previously well-functioning classes was consistently giving the…
-
Bottlenecks
I’ve been reading though Implementing Lean Software Development as a member of the San Antonio Tech Book Club. Bottlenecks are discussed in Chapter 7, and I had some notes/reflections on the subject… Lean suggests that it’s important to figure out, and focus on the main problem. This is an idea we know from optimizing our programs, for instance,…
-
You are your Institutional Knowledge
In the midst of recession, many companies are closing locations and laying off staff to cut costs. The thinking from many of these companies is that the remaining staff can pick up any projects the laid-off staff previously did, resulting in all the important work being accomplished. Secondary tasks may end up being done a…
-
Austin Code Camp 2009
I just wanted to give a heads-up to people in the central Texas area that a great event is coming up at the end of the month: Austin Code Camp 2009. It’s taking place May 30th, and the lineup of likely sessions is looking fantastic. Our friends at Los Techies are going to have a substantial presence there,…
-
VB.Net and the Case of the Iffy Ifs
Previous Items in Series:Intro to series on quality VB.NetVB.Net and the Spaghetti Code Of Doom In the previous item in this series, we looked at a pretty typical class, discussed some of its problems, and started in on fixing those problems. We finished with smaller, easier-to-understand pieces of code, but it still exhibits some notable problems. …
-
The Case for Multiple DBs in Multi Tenancy situations
Multitenancy isn’t easy, and one of the particularly challenging aspects is what to do with the database. In Ayende’s excellent posts on multi tenancy, he’s pretty clear that he feels a database per tenant is the way to go . There are two major, reasonable approaches that I know of: First, to have a database per tenant. (This…
-
Scrum-It’s not about completing the sprint
This week, I was reading “Agile Principles, Patterns, and Practices in C#” by Robert Martin. In one of the early chapters, he talks a bit about Scrum, and mentions that working overtime (excepting the week of the release sprint) is a big antipattern. Now, I’ve been on a team that practiced Scrum, and we worked…