a function to mask strings
here’s a handy function to mask strings while retaining some useful metadata....
setlist events in go
Over the past few months, I’ve been toying around with go. Python has never r...
Wallets
I’ve gone through a number of wallets over the years.
a studded Fossil wa...
shifty metadata
I’ve got a set of Excel files (.xlsx) containing weekly spend breakouts. Thes...
Simplenote to Vesper
It started with a tweet from @benjaminbrooks:
Has anyone written a tool to m...
Current file path
Sometimes I need to reference the path of the current (saved) file. Thanks to...
finding conventions, establishing standards
I’m creating a perl script that reads through all .sas files in a directory t...
we blew it
Thomas Brand on the hoopla surrounding twitter’s new timeline:
As far as ...
getOption
SAS has a number of system options that we can access through dictionary tabl...
benchmarking the sasload statement
in the middle of re-writing some macro code where different datasets were bei...
On Interruptions
Last month, Ben Brooks ran a poll on his website asking readers their attitud...
rebuilding wide macros
Recently I needed to pull the values of potentially long macro variables (mor...
last week of quarter
A coworker recently asked me how I would identify the last week of a quarter ...
setting %array values through %do_over
I’ve been using Ted Clay’s %array and %do_over macros lately. a lot. Everytim...
the $329 retina iPad mini with Retina display
Last night, the Apple store was down for something or other. This morning, I ...
a new home
growing displeasure with another stagnant hosting provider prompts yet another move.
transactions.pl: a mint parser
i make mint do what i want via a custom perl script.
convert to a [hhmmss-type integer to a] sas time - (SO)
converting time integers like 144500 into sas dates values like 2:45:00.
pretty note blocks
here is how i make sas comment blocks a little less jagged.
setting the price early
early disappointment with the ipad mini pricing disappears with hands-on reviews.
in the future, i'll only buy memorex optical media
proof that memorex optical media is the best.
writing fractions in html
a blip on making fractions more fraction-like.
my sas global forum 2013 abstract
i submitted a proposal for sasgf 2013 – with pictures!
blocks, not lines
someone elightens me on “line” numbering in sas macros and i am grateful.
dates from date times
input, substring, put or datepart. whichever, really.
Too complex to edit
squarespace is dumb.
classical sas
his fifth.
The non-letterboxed keyboard
Look at this one. A letterboxed app with a non-letterboxed keyboard.
resolve function
Stumbled across a nice post on dynamic macro call using the RESOLVE() functio...
The paywall, the backdoor, and twitter
Personally, I like Ben Brooks’ writing style–both long form and even though ...
wuss2012: building macros and tracking their use
I was invited to submit a paper to the Western Users of SAS Software
confere...
why i look forward to collection calls
Back in 2004, i was recently married, i was nearly finished with grad school,...
windows environment variables
a mental not for how to fetch windows environment variables in sas.
my sasgf12 timeline
Monday, April 23 (7 Sessions)
Technology Connection and Keynote Presentation...
self-purging macros?
unfortunately, this doesn’t work:
%macro test;
proc catalog cat=work.sasmacr...
simulating child's play
as of late, the kids are enjoying simple, pre-risk board games. of these, i p...
getting feedback on macro parameters
adding the following code inside a macro:
%local macro; %let macro=&...
macros and the data step
recently, i had a need to use and update a macro variable within a data step....
clearing out the cruft
there’s a new minimalist todo app on the scene called clear by realmac softwa...
api upgrades
For the past year (maybe two), I’ve been refining a SOAP web service consumpt...
a small portion of a large number…
basic math on the large number that is the Romney’s 2011 tax bill.
vending machine math
Last week, Andy from NOTE: introduced me to code katas. Then he posted his fi...
my k'nex iphone stand
The kids (and I) made a pretty sweet iPhone 4/4S stand out of random k’nex pi...
the positive side of keeping all your eggs in one basket
in any work environment with multiple SAS users, the are likely common data s...
tweetbot
About six months ago, Tweetbot came to my attention–probably via the B&B ...
free app idea
an iOS app that, when connected to the home wifi network, could initiate an i...
dates in datetime fields
Got date values intermingled with datetime values? Here’s a brute force way t...
continue-looping
if you’ve ever needed to stop processing a loop under certain conditions but ...
returning a well-formatted date-time
in OS X, entering this in a terminal window
date "+%A, %d%h%Y%t%l:%M%p"
wi...
the VVALUE function--like a quick PUT function
for example…
data temp;
format d yyq6.;
d='19Apr2011'd;
x=vvalue...
label carryover
a little demo on label carryover.
data a;
a=1;
b=2;
label a='from datas...
month of quarter variable
quick formula to calculate the month of the quarter (JAN, APR, JUL, OCT=1; FE...
how do i read a file's creation date?
assuming you’re on windows, you could read the output from the dos command di...
the vertical app listing
or how apple can fix the iPhone OS home screen mess
the iPhone OS home scree...
prxparse(dates)
i’ve got some odd character dates that i need to fix. here’s some examples:
...
the utility of generic macros
i’ve been using sas for roughly 5 years now. for the past few years, i’ve bee...
an mmddyyyy hhmmss informat. kinda.
a while ago, i took the hack shortcut of reading character datetime stamps in...
random dates
this is a cross posting from this sas discussion forum thread.
assuming yo...
calculating average time (duration)
this is summarizes my response to a thread on the SAS Discussion Forums.
i...
%d: a handy little macro for dynamic dating
for a little over a year now, i’ve been enjoying a little macro i wrote for w...
encoding data points for use with google charts api calls
first step, build encoding tables based on the documentation:
data encSimple...
reading overlapping text segments
if you’re in the same boat as me, you’ve got sas 9.1.3 sp4 installed under wi...
reading non-standard datetime values
another datetime posting. this time, i needed to read in datetime values with...
reading iso dates and datetimes
a while ago, i posted a method of converting YYYYMMDD-style integers to sas d...
frustrations with dashboarding in sas 9.1.3
I’ve gone through the work of creating a dashboard using SAS/GRAPH and summar...
a sudden spike
a couple weeks ago, @swaynette asked me if she could mention my post on scrap...
%expExcel
i’ve uploaded the expExcel macro to the downloads section of the sas-quatch p...
sas variable lists
last week, there was a blog post regarding the use of variable lists on varia...
scraping the sas training pages
i thought it might be fun to see if i couldn’t pull the sas training catalog ...
proc pwdecode
just read a posting about how to encode sas passwords. i’ve been using encode...
the missing format: qyy
sas has a lot of date-related formats…roman numerals, julian dates, jewish ca...
wiping usb drives
before you give away that usb drive, you might want to wipe it clean. here’s ...
autosave my day
i was modifying a program for about 4 hours when sas froze. in all that time,...
the ugly truth about call execute
let’s start off with a simple macro that spits out some text and the value of...
let that be a lesson to 'ya!
when i was young and reckless, i would change variable names to something a l...
converting yyyymmdd-type integer to sas date values
converting integer dates like 20071221 to sas dates like 21DEC2007.
what's the point of this?
i’m working on some survey data containing a few select all that apply-type i...
itunes xml parser
wherein i coerce sas into consuming the iTunes library xml file.
sashboards = dashboards in sas?
sas finally posts some sample code for generating dashboards; this pleases me.
calculating period-to-period changes in sas
calculating period-to-period changes with the lag function.
ZipsNear
Just browsing through some old contributions I made to SAS Community and noti...