Archive for the ‘Programming’ Category

PSHamcrest 0.1-alpha released!

Thursday, September 1st, 2011

PSHamcrest is released! PSHamcrest is a very basic Powershell unit test framework inspired by Hamcrest. It’s super easy to use — just dump it in the same directory and dot source it.

Read more »

Binary serialization in C#

Saturday, March 5th, 2011

Serializing an object into a binary file is an easy and fast way to persist your objects. If binary serialization is used to cache objects normally read from an XML file, a database or some other file format, you’ll get even more benefits.

Read more »

What are the benefits of a tracing JIT?

Friday, April 23rd, 2010

Firefox uses a tracing JIT.  Adobe’s been using it for a while.  A Python interpreter uses tracing.  Microsoft is also researching its possibilities.  So what’s the big deal?

Read more »

What is the purpose of PyPy?

Wednesday, April 7th, 2010

PyPy is a Python interpreter written in Python.  It claims to be faster than CPython for certain benchmark tests.  How can Python — not particularly known for its speed — interpret Python source code faster than an interpreter written in C?  Also, an interpreter written in Python sounds like a neat exercise, but what’s the point of doing this?

Read more »

PyCon 2010 Atlanta

Monday, February 22nd, 2010

PyCon 2010 was in Atlanta this year.  It wasn’t quite as warm as I hoped it would be, but definitely an improvement over the 2-3 feet of snow we got in the DC region.  I do feel a little smarter after attending PyCon, but also infinitely humbled by the creativity, energy, and raw intelligence in the Python community.  Here are some notes I took from the talks I attended…

Read more »

Benefits of form versioning

Saturday, March 14th, 2009

Picture a fully developed CRF.  The form layout is pristine, the validation rules are working exactly the way you want them to, and the field data maps directly to your database tables.

What more can you ask for?

Unfortunately, forms hardly ever stay the same throughout the course of a clinical trial or a research study.  Forms frequently need to adapt to new data points that were unforeseen during the protocol definition phase.  So how can we handle this?

Read more »

Overload the array square bracket operator in C#

Thursday, November 13th, 2008

Although operator overloading is possible in C# (just like in C++), overloading the array square bracket operator is by definition not possible.  However, C# provides an alternative called indexers.  This is directly from the Microsoft C# Reference for the [] Operator:

Read more »

5 common mistakes for tablet PC development

Friday, October 10th, 2008

Okay, so you’re sold on a Tablet PC, but what should you watch out for when developing a Tablet PC application in health care?

Below is a list of common mistakes for developing a Tablet PC application.  All are avoidable early in the project’s life-cycle. Some of these mistakes I own, and others I’ve seen from other project managers and developers. Hopefully, this list helps others avoid these common mistakes.

Read more »

Why does an abstract class need to implement interface methods?

Sunday, September 28th, 2008

In a comment for a previous post (Top 10 differences between Java and C#), John P. Wood wrote:

As a (primarily) Java developer, I’ve also noticed that C# handles abstract classes that implement interfaces differently. In Java, an abstract class can implement an interface, and not provide implementations of all of the interface’s methods.  It is the responsibility of the first concrete class that has that abstract class as an ancestor to implement all of the methods in the interface.

Read more »

Portrait vs landscape, CRF design for a tablet PC

Thursday, August 14th, 2008

HP Tablet PC (convertible)How do you systematically make use of the varied Tablet PC screen resolution dimensions using C#?

Designing a CRF specifically for a Tablet PC can be a challenging experience, but it can also be one of the most rewarding.

The Tablet PC is very similar to a traditional desktop computer or a laptop.  As I write this entry, most Tablet PCs are running some variant of Windows.  Whether it’s Windows XP Tablet PC Edition or Vista (which has built-in support for Tablet PC specific functionality), you’re basically dealing with a Windows machine and you can pretty much treat it as such…  almost.

Read more »