## 25 November 2008

### Wasted Days

Today I received a questionnaire asking for total number of contributions in the following categories over the past academic year:

1. Refereed Papers
2. Non-refereed Papers
3. Books
4. Book Chapters
5. Presentation at learned societies/symposia
6. Invention disclosures
8. Patents Filed
9. Other Scholarly Works
to each of which I responded with a big, fat zero. It is early for resolutions, but I aim for '09 to be full of accomplishments that can be measured instead of my usual results (e.g. "Oh! Duh! That's what that equation means. I should'a known that already...").

## 19 November 2008

### A B-spline verification test case

Update (16 Dec): The B-spline derivative code made it into GSL's 1.12 release

I'm trying to get B-spline derivative capabilities added to gsl. Though I could find lots of implementations of B-spline derivatives for fixed polynomial order, finding derivatives for arbitrary order B-splines turns out to be a gap in many libraries (with PPPACK being the notable exception).

It also turns out that finding a good, concrete verification test case is a pain too. Hopefully gsl will pick up my patch and no one will have to implement these again. But, if you should find yourself in that situation, here's some Mathematica that provides both symbolic and numeric results for quadratic B-splines and their derivatives on a particular set of knots:

A verification case for B-Spline implementations, including derivatives

## 12 November 2008

### Handcrafted memory layout: a case study in magic number mayhem

Observe, in the code snippet below, that no fewer than 27 subtly different aliases have been created for the same chunk of memory...

Semantics/Syntax: The @ sign instructs the compiler to have the variables named varsc and vars share storage much like C's union construct. The symbolic keyword acts like a macro definition.

    dynamic complex(64) varsc[(nx+2)/2,ny,37]
@ real(64)    vars[     nx+2,ny,37]

symbolic mic[i,j,l]        = varsc[i,j,l]
, rhoc[i,j]         = varsc[i,j,4]
, engyc[i,j]        = varsc[i,j,5]
, drho_dxic[i,j,l]  = varsc[i,j,l+5]
, dengy_dxic[i,j,l] = varsc[i,j,l+8]
, dmi_dxic[i,j,l,m] = varsc[i,j,11+(l-1)*3+m]
, rhsc[i,j,l,m]     = varsc[i,j,25+(l-1)*3+m]
, rhs_rhoc[i,j]     = varsc[i,j,21]

symbolic mi[i,j,l]         = vars[i,j,l]
, rho[i,j]          = vars[i,j,4]
, engy[i,j]         = vars[i,j,5]
, drho_dxi[i,j,l]   = vars[i,j,l+5]
, dengy_dxi[i,j,l]  = vars[i,j,l+8]
, dmi_dxi[i,j,l,m]  = vars[i,j,11+(l-1)*3+m]
, rhs_rho[i,j]      = vars[i,j,21]
, dui_dxi[i,j,l,m]  = vars[i,j,11+(l-1)*3+m]
, pres[i,j]         = vars[i,j,22]
, tmpt[i,j]         = vars[i,j,23]
, mu[i,j]           = vars[i,j,24]
, tau[i,j,l,m]      = vars[i,j,25+(l-1)*3+m]
, q1[i,j]           = vars[i,j,9]
, q3[i,j]           = vars[i,j,11]
, rhs[i,j,l,m]      = vars[i,j,25+(l-1)*3+m]
, dmu_dx2[i,j]      = vars[i,j,6]
, dtmpt_dx2[i,j]    = vars[i,j,7]
, d2tmpt_dx22[i,j]  = vars[i,j,8]
, d2ui_dx22[i,j,l]  = vars[i,j,8+l]


## 10 November 2008

### Overnight trip to Mason, TX

I just got back from an overnight motorcycle trip with my friend Paul.

We'd wanted to travel further west than Mason, but a late start and a large helping of pie in downtown Mason caused us to rethink our plan.  Hanging out at The Old Peanut Mill Steakhouse and Fort McKavett Social Club filled most of Saturday evening.  Nice place.

The roads that crisscross the Guadalupe river are beautiful this time of year:

The VFR turned over 50K miles on the trip.  Paul, as always, did a great job with the route and navigating.  Both days were a mix of unused high speed sweeping turns along with some intermittent choppy surface connections across ridges and into each successive valley.

## 05 November 2008

Done deal:

I've got to admit I'm pleased with the outcome. Hopefully state and local races won't shock the system so badly that they inhibit smooth day-to-day operation.

## 02 November 2008

### Two more of my IBM patent applications published

I just noticed that these two patent applications just appeared publicly...

(20080198748) System and Method for Burst Traffic Smoothing for SIP Processing Elements
A system and method for burst traffic smoothing for Session Initiation Protocol (SIP) processing elements are provided. A dispatch queue management engine determines whether a received packet is a TCP or UDP packet. If the packet is a TCP packet, the packet is automatically added to the dispatch queue. If the packet is a UDP packet, a value for a drop function f is generated and a random or pseudo-random number r is generated. If r has a predetermined relationship to f, then the UDP packet is added to the dispatch queue, otherwise the UDP packet is discarded. The value for f is based on the current dispatch queue load, the network quality, the retransmission rate, and the allowable drop rate. Thus, the determination as to whether to drop UDP packets or not is configurable by an administrator and also adaptable to the current network and dispatch queue conditions.
(20080229245) Multiple Sorting of Columns in a Displayed Table in a User Interactive Computer Display Interface Through Sequential Radial Menus
Multi-sorting of displayed columns representative of a tabular display is carried out by displaying a table of a plurality of columns, selectively displaying a first radial menu having a plurality of sectors, each sector representative of one of the plurality of columns, enabling a user to select one of the sectors, and responsive to a user selection of a sector for displaying a second radial menu of the plurality of sectors wherein the selected one sector is disabled, e.g. eliminated. This is continued through a sequence of subsequent radial menus until the user has selected the intended set of sequential columns for the multiple sorting.
The second one, because I worked with a friend whose last name starts with a W, is probably the first (and only) application where I'll ever see 'Ulerich et al.'

### Compressible DNS within PECOS

On Monday a bunch of DOE people are in town for the 1st annual review of the Predictive Engineering and Computational Sciences (PECOS) center at UT Austin. Because I'm partially funded through the center, another student and I put together a poster for this Monday afternoon:

Just in case embedded Scribd hiccups, here's a link to the poster.