traviscj/blog

Posts

December 12, 2016

CBCL: The Common Business Communication Language

I recently came across McCarthy’s CBCL paper on Hacker News. He presents a Lisp notation as a format for sharing requests between different software on different computers. He calls out

(PLEASE-RESERVE (EPSILON (x) 
  (AND
    (IS-FLIGHT x) 
    (DEPARTS MONDAY) 
    (ARRIVES (BEFORE WEDNESDAY)))))

where $\epsilon x$ is an operator maps a predicate to a value matching the predicate, and considers it an improvement on the “iota” definite description operator, which seems to be an operator that returns the unique value matching the predicate. It seems interesting to me that the unique match operator is not considered as useful as the arbitrary match operator – unique keys actually seem critical to a lot of my work with data models. Even more fascinating, though, is that this looks like an anonymous function!

read more
December 7, 2016

oblique programming strategies

Ever since I found out about it (probably on Hacker News), the idea of Oblique Strategies has fascinated me. The first editions are going on ebay for $2500-$3300 bucks, which I think is incredible. If you’re curious and impatient, you can check out this list on github.

One recent sleepness night, I made a list of “oblique programming strategies” on my phone, transcribed here. They are not as starkly polished as Eno’s version (unsurprisingly), but might be useful to you!

read more
December 2, 2016

motorcycle learnings at 250 miles

Two new learnings at the 250mi point:

  1. The backpack straps down to the back!

    ![]({{ site.baseurl }}/assets/backpack_straps_s.jpg)

    The balance of the bike feels so much better with the backpack low and riding without weight on my shoulders is so much more comfortable.

  2. Ear Plugs are amazing! I noticed earplugs being worn on The Long Way Round and decided to try it out. It is really surprising how relevant noises (other cars, etc) make it through fine, but how much nicer it is to not have the wind noise!

read more
December 1, 2016

Useful homebrew formula

Last week I was telling Paul about things I have brew installed on my work laptop. I pulled a full list as I was doing some upgrades and stuff this morning.

Glancing over it a bit, here are some of my favorites/most usefuls:

  • autojump for a usage-adjusting cd – given a partial string it just goes to the most-used directory with that prefix. I have autojump aliased to j to shorten it up even more.
  • colordiff to make diffs/grep/etc nicer to look at in the terminal.
  • coreutils/dateutils is nice because it installs the GNU versions of a lot of standard linux commands like du and ls and date that work a bit strange/differently on OSX.
  • jq is amazing — lets you query JSON objects.
  • ledger to manage bank balances in plain text.
  • newsbeuter to subscribe to RSS feeds.
  • osquery lets you do SQL-like queries to find out about the system it’s running on (sharvil did a bunch of work on it, actually…)
  • terminal-notifier to pop up notifications from terminal/cron jobs.
  • tmux to have long-running terminal windows without having terminal windows open.
  • watch instead of “some command”+uparrow+enter+uparrow+enter+….
  • wget as shorthand for “curl http://xyz/tuv.json > tuv.json” (old habits…),
  • youtube-dl for downloading youtube videos.
read more
November 30, 2016

KLR-650 first month & american gumball

Yesterday I finally got the title for my motorcycle and realized that I’d owned it for exactly one month!

![]({{ site.baseurl }}/assets/klr650_first_ride_s.jpg)

So far, I haven’t done anything very adventureous – still getting used to riding again. I had a couple things that were making me nervous about it:

  1. The bike gets warm (>1/2 way on the heat gauge, but still significantly below the red) tooling around, usually on my commute home in the evening.

read more
October 14, 2016

stocks and options from 30k feet

One of my friends at work asked me if I had any book recommendations for learning about stocks and options. Mentally, I break trading down into two general classes of trading: index-type and “exotic” trading. By exotic trading, I mean picking individual stocks/options and actively trading. This runs counter to the more conservative buy-and-hold, index-based, hands-off approach.

For the exotic trading, I learned most of what I know from a class with Professor W.E. Olmstead and his book, Options for the Beginner and Beyond: Unlock the Opportunities and Minimize the Risks. For the option-uninitiated, the basic idea is that instead of buying or selling stocks directly, you buy and sell contracts that give you the right (but not obligation) to buy or sell the stock at a particular price by a particular date. That’s a mouthful and options are indeed subtle beasts, but they allow the flexibility to either hedge risks you want less exposure to, or increase/leverage exposure to risks you do want to take.

read more
September 26, 2016

streaks vs statistical streaks

Hacker News et al are obsessed with streaks, but I think they have some problems:

  1. A single regression resets to zero.

  2. There’s not an easy way to gradually ramp up your streak-commitment over time.

I prefer a different approach: statistical streaks.

Suppose I made a commitment to do something differently on 2016-08-26, and did it for the next 5 days; then my 30-day statistical streak avg = 0.166, but my 5-day statistical streak avg = 1.0.

read more
April 24, 2016

i fucking love mangoes

Specifically, the Philippine Brand Dried Mangoes. They are amazingly good.

But there is a slight problem. Costco sells them in 30 oz bulk packs, which is 20 servings at 160 calories/serving or 3200 calories total. Left to my own devices and lack of self discipline, I could probably eat (and subsequently regret eating) the entire bag of mangoes.

I need a self-check to disgust myself and impose a bit more of a speedbump than an already-opened bag provides. So I fired up the FoodSaver and made individual serving sized-bags:

read more
April 15, 2016

switching over to https

One of the things I’ve been meaning to do forever is switch things over to https. By “things”, I mean the set of websites I run for some family and friends. I tried it out with my personal website first, then flipped over the rest.

implementation notes

  1. I used the letsencrypt start guide to generate the certificates.
  2. Modified the nginx config to: a. serve ssl/https traffic on port 443 for the given domain with the proper https certificates/etc. b. forward non-ssl/http traffic on port 80 to port 443 for the given domain

verification

It turns out that the nginx configuration files are a little bit error prone. This probably means that I am doing something wrong, like not using some configuration management tool like puppet or ansible or whatever. But for something as small scale as my site, it doesn’t really meet the cost-benefit threshold for learning a new tool/language. I also even considered spinning up a simple one-off configuration generator that I’d need to figure out how to override and extend as needed.

read more
January 2, 2016

inspired by magicmirror

I’ve been really inspired by the MagicMirror project. The basic idea is getting a piece of mirror glass and putting a monitor and computer behind it, then having a status page show some pertinent information about the day (like weather, calendar, news, etc). So it looks like a regular mirror, but when you look closely, it shows the extra information.

I’d like to put one in the bedroom to replace our tall mirror. That’ll be pretty cool, but it requires a bit of extra thought because our magicmirror setup would replace a tall and skinny mirror, so we’ll probably just want a monitor behind the top part of the mirror. That will require some extra bracing to hold the monitor up in the frame. I’ll need to think about that a while.

read more
  • ««
  • «
  • 5
  • 6
  • 7
  • 8
  • 9
  • »
  • »»
© traviscj/blog 2025