Skip to main content

Studying Source Code

· 4 min read

I've been misunderstanding .NET's List<T> for years.

Two incidents this week have driven home the value of being able to study the source code of frameworks I code with. One the one hand, I was using NServiceKit.OrmLite for database access, and needed to understand how it constructs its SQL. Through study of the code, I was able to find and remediate a limitation in the wildcard handling*.

Management 3.0: Knowledge and Diversity

· 3 min read

Last year I read Jurgen Appelo's Management 3.0: Leading Agile Developers, Developing Agile Leaders. Despite taking many useful notes, I did not have the time to write up a full review / collect my thoughts on it. Overall impression: this books has tremendous value, and I recommend it highly to anyone in IT management / leadership (whether operations or software).

I look forward to re-reading it in the near future. For now, I will satisfy myself by re-collecting and re-pondering a few of those notes, starting with the topics of Knowledge and Diversity (from Ch 4 - The Information-Innovation System)

Mini E-mail Campaign With Node.js

· 3 min read

Over the weekend I had what at first appeared to be a small challenge: send out a few hundreds e-mails for a non-profit's outreach campaign. MailChimp and other mailings lists were not a good fit, as these messages were of the cold-call variety, and a formal mailing list felt too spammy. Initially I wrote a utility in .NET, but ended up solving with Node.js instead due to timeouts experienced with SmtpClient.

Eco-spiritual Integration: Three Texts

· 4 min read

photo of a stream

Stream at the restored Ridván Garden near Acre, Israel

"Fragmentation" often describes our personal lives. Through accident or design, we carve out separate spheres of being: family, work, school, sport, public policy, and so on. When we are healthy, we work toward unifying these through consistent expression of our values. The other extreme becomes hypocrisy.

The long-term tension between science and religion often reinforces that tendency toward fragmentation. Practicing and acting on a traditional Western mechanistic worldview while espousing divinely-grounded spiritual values is not intrinsically hypocritical. But, for me, it is a very limiting experience. In the integration of these two worldviews we find them strengthening each other. Spiritual principles can shape our research methods (viz animal experimentation), and scientific research can shape our application of justice and equality (seeking climate justice, for example).

Refactoring Legacy Web Forms for Test Automation

· One min read

The Challenge:

Given you understand the value of test automation. Given you are handed a legacy application to maintain and enhance. Given the application is in ASP.Net Web Forms. When you try to add tests. Then you find that test-driven development is literally impossible.

Here's one solution, in long slide-style presentation:

Birdsong and Rustling Leaves

· 3 min read

Birds were not my friends as a child. For some reason birdsong in my backyard was an annoyance. I knew how to distinguish a handful of birds from one another, but they simply held no fascination. Reptiles were much more interesting. In hindsight, I think it was the call of the Northern Cardinal — possibly awakening me in the early hours — that caused my mild disdain. So how did I arrive at this point where birding brings me such joy?

photo of birds

American White Pelicans, Double Crested Cormorants, and domestic goose. White Rock Lake, Dallas, TX. January 2014.

safnet Directory: A Partnership Between Angular.Js and ASP.Net MVC

· 3 min read

Back in October I started playing around with a few technologies, resulting in my first code posted to GitHub: safnetDirectory. I must say that it is not the most impressive bit of coding that I've ever done. However, the urge to learn sometimes needs an unencumbered, no-strings-attached, digital canvas on which to exercise. That urge is requited through the experimentation and the lessons learned, rather than the completion of an opus.

The end result: I have a prototype of a mixed Angular.Js / ASP.Net MVC application that provides a simple directory and simple administrative functionality. And it is Hosted on Azure.

safnetDirectory screenshot

Transcendent Moments

· 4 min read

Nature-lovers often speak about transcendent moments, occasions where some experience moved them to a profound awareness of life, the universe, and everything in it. For some, these are timeless minutes, forever memorable, forever inspiring. All of the senses align in memory, and perhaps a bit of wisdom descends in epiphany.

My transcendent moments are not so strong; perhaps that is from a weak sense of smell. Or perhaps because I seek out a low level extraordinary at every turn: the senses are not so overwhelmed in these daily moments, as the ordinary passes beyond rationality. These peek experiences do exist however, and as I sift through the shoebox of memory, two stand out at very different scales.

Colorado river in Arizona

Page, Arizona, along the Colorado River. Courtesy of Nasa.

Nature Observation and Joy

· 3 min read

Beware, o ye who walks in the woods with me. For I cannot help myself: I must share. Look at this little fern over here. This is a nice soapberry tree. So many ant lion nests here! Did you hear the tsip sound? Do you think it's a Dark-eyed Junco or a Yellow-rumped Warbler?

I pray that it is not a subconscious showing-off, know-it-all thing. That accusation has stung me before, in the middle-school classroom. Consciously, I simply love drawing people's attention to that which fascinates me (and yes, please do return the favor). There is a wonder about the natural world, a wonder and a joy that is so great that it often cannot be contained. This joy is reason enough to share with friends and family.

photo of bluebonnets and mesquite tree

The Ranch

· 4 min read

Some folks grow up in households of privilege where trips to the family cabin / ranch / lake-house are common. We had the next best thing: a family friend generous enough to invite us along to The Ranch. Now, The Ranch has a more formal name, but its legend and personal history are best distinguished by turning the general, specific.

scanned photo of the ranch

safnet logo