Here’s some things; Some are good, some are okay, a lot are stupid.

2026

—caledger: calendar + ledger-cli

2024

—Thoughts from an Apple Vision Pro demo
—Text Player
—Some Jekyll Tools
—(In|De)flation

2023

—New (To Me) Music - 2022

2022

—A Simple Card Trick
—Text Permutations on iOS/macOS

2020

—A Function to Mask Strings
—Setlist Events in Go

2017

—Wallets
—Shifty Metadata

2015

—Simplenote to Vesper

2014

—Current File Path
—Finding Conventions, Establishing Standards
—We Blew It
—getOption
—Benchmarking the sasload Statement
—On Interruptions
—Rebuilding Wide Macros
—Last Week of Quarter
—Setting %array Values Through %do_over
—$329 Retina iPad Mini

2013

—A New Home
—transactions.pl: A Mint Parser
—Convert to a [hhmmss-Type Integer to a] SAS Time - (SO)
—Pretty Note Blocks
—Setting the Price Early
—In the Future, I'll Only Buy Memorex Optical Media
—Writing Fractions in html

2012

—SAS Global Forum 2013
—Blocks, Not Lines
—Dates From Datetimes
—Too Complex to Edit
—Classical SAS
—The Non-Letterboxed Keyboard
—resolve Function
—The Paywall, the Backdoor, and Twitter
—Western Users of SAS Software 2012
—Why I Look Forward to Collection Calls
—Windows Environment Variables
—My SAS Global Forum 2012 Timeline
—Self-Purging Macros?
—Simulating Child's Play
—Getting Feedback on Macro Parameters
—Macros and the DATA Step
—Clearing Out the Cruft
—API Upgrades
—A Small Portion of a Large Number…
—Vending Machine Math
—My k'nex iPhone Stand
—The Positive Side of Keeping All Your Eggs in One Basket

2011

—Tweetbot
—Free App Idea
—Western Users of SAS Software 2011
—Dates in Datetime Fields
—Continue-Looping
—Returning a Well-Formatted Date-Time
—The vvalue Function--Like a Quick PUT Function
—Label Carryover
—Month of Quarter Variable
—How Do I Read a File's Creation Date?

2010

—The Vertical App Listing
—prxparse(dates)

2009

—The Utility of Generic Macros
—An mmddyyyy hhmmss Informat. Kinda.
—Random Dates
—Calculating Average Time (Duration)
—%d: A Handy Little Macro For Dynamic Dating
—Encoding Data Points for Use With Google Charts API Calls
—Reading Overlapping Text Segments
—Reading Non-Standard Datetime Values
—Reading ISO Dates and Datetimes
—Frustrations With Dashboarding in SAS 9.1.3
—A Sudden Spike
—SAS Global Forum 2009
—%expExcel
—SAS Variable Lists
—Scraping the SAS Training Pages

2008

—PROC PWDECODE
—SAS on an iPhone
—The Missing Format: QYY
—Introducing meandfreq
—Wiping USB Drives
—SAS Global Forum 2008
—Autosave My Day
—The Ugly Truth About Call Execute

2007

—Let That Be a Lesson to 'Ya!
—Converting YYYYMMDD-Type Integer to SAS Date Values
—SAS, SVN, and Google Code
—What's the Point of This?
—iTunes XML Parser
—SAShboards = Dashboards in SAS?
—Calculating Period-to-Period Changes in SAS
—Comp'd at the Palace
—What was quatch?
—Pacific Northwest SAS Users Group 2007
—ZipsNear

2006

—SAS User Group International 31

2005

—Using the ACT to Predict College Graduation

2002

—Science, Technology, & Engineering Preview Summer 2002
—UW-Stout Journal of Student Research Volume 2
—UW-Stout Research Day
—UW-Stout Journal of Student Research Volume 1

2000

—The Relationship Between Job Satisfaction and Job Performance
home - Richard Koopmann