From Elegance to Speed, with Clojure

October 2, 2021

I recently came across a blogpost about rewriting an "elegant" function in Clojure into an optimized function in Common Lisp. In it, John Jacobsen discusses how they went from this Clojure code:

(defn smt-8 [times]
  (->> times
       (partition 8 1)
       (map (juxt identity
                  (comp (partial apply -)
                        (juxt last first))))
       (filter (comp (partial > 1000) second))))
Continue reading →

Restarting the project

August 31, 2021

I started writing a little blog in the summer of 2017, when I had really hit a local maxima happiness. A year into my software career, feeling medium good about Avuity, feeling very good about May, it seemed right to talk about it, even privately. I’m very glad I wrote all those things down. It makes me quite happy to read Marriage and see the seeds of good decisions, even if the execution took a lot of work.

Why start blogging again now? Because in between writing code every day, I feel like I have thoughts and reactions to things I read and try. I read all of Test-Driven Development in a single day, and like 99 Bottles of OOP before it, I walked away with my brain on fire. I’ve begun reading Domain-Driven Design, and I can feel it poking at my brain in the same way. I don’t want to lose this feeling, nor do I want to lose the insights these books are providing.

Continue reading →

Archibus and the SELECT N+1 Problem

August 27, 2017

Intro

This past week, I had the opportunity to contribute to an existing custom report built for a client. It loaded incredibly slowly, so in between working on the contribution I had been tasked with, I also took it upon myself to speed it up. I think it’s time to share what I’ve learned.

Caveat

A big problem is that some portions of Archibus’ Web Central are poorly documented, so understanding exactly how a given feature works in detail can be time-consuming and even with effort subtleties can be missed. Don’t just take my word for how any given element works or doesn’t work.

That being said, I’m here to help you make certain parts of your Archibus app run fast and beautiful, and blow away everyone who uses them.

Continue reading →

Blank

August 8, 2017

I’m siting here at 1215 after another long day, and I’ve been thinking to myself, what am I doing? I don’t need to spend the money, I don’t need to drink wine, I don’t need any of this. On the other hand, the wine tastes amazing, the music in my headphones and the music played by the two jazz dudes in the corner are both bangin, I’m written some really good facebook posts today. I don’t regret my decisions.

I had dinner with dad, and he whipped out some classic Jon Bogart-isms. Stuff like, if I actually wanted to do certain things I’d just change the rest of my life to make them happen (wrt travel vs eating out all the time). What’s great is, I can let that shit fall away from me easily nowadays. I hear it, I recognize the kind of effect it’s had on me at various points in my life, and I let it fall to the wayside. Jonny Dee is a smart man, he’s encountered a lot over his life, and I value his wit and wisdom, but like so many pseudo-negative aspects of my life, I have to be willing to say, ``No, I don’t need to accept this as my current truth'' the way I did in high school or college or after college.

Continue reading →

Pain

August 6, 2017

I don’t know what I’m here to write, I just know that I have this feeling like I should keep it up. So here I am, writing more.

What’s the point of writing for one’s self? Reflection? I don’t get my actual feelings out if I’m not conversing with someone. Julie talks about reading her journals from when she went to therapy early in her relationship with Jon and how much clarity she finds in it, how nice it is to see the clear lines of work and effort and thought that went into various decisions in her life. I don’t do that. Maybe I should? I honestly don’t find it compelling to write for myself. The kinds of thoughts that I write don’t accurately represent me internally in a given moment. Maybe like a sign post signifying the general area it might be helpful to write the various interpretations I’ve created from parts of my life, and then look back on them later, saying, "Ah from this vantage point, I can see the shape of the land, the whole from all of the pieces I could barely consider when in the tasks and minutia."

Continue reading →
Next »