This week at work I was able to get our Varnish caching working while still being able to bucket users into AB tests and set cookies on the server. Normally Varnish won’t cache the page if a cookie is set server-side but with the use of esi:include tags it’s possible to get cookies and cache. This was very little code but took a lot of brain power to wrap my head around how it works.

The gist of it is that when Varnish forwards a request to the server, the server can hand back a simple esi:include tag with a src attribute pointing to a resource. And if Varnish already has that resource cached it will use it instead of requesting it from the server. So on every request, we can bucket a user into a test and set a cookie, and Varnish retains the ability to cache the actual content of the page.

We launch the test of this next week, so we’ll see how it goes. But we have many use cases for this, so it was fun to finally figure it out.

And now I am jamming on a little programming puzzle for a “code kata” meetup at work. We are working on this anagrams code kata. I wrote a quick sketch in JavaScript then chose to write a solution in Racket. I think I have a good solution and I really enjoyed Racket! I’m getting more comfortable with Lisp and I think my brain works well with it. Small functions, small abstractions building into a bigger program.

Fun times learning new things, solving problems.

Posted June 24, 2017 | | File under: ,

A few interesting tech conferences happened recently and tons of videos went online. Will take a while to make my way through a lot of these.

Posted September 21, 2016 | | File under: ,

I don’t know, I think there’s a bug.

I think theres a bug

Posted March 21, 2014 | | File under:

Kind of obsessed with Lisp at the moment. Reading “Structure and Interpretation of Computer Programs” now and I’m about to start “Land of Lisp”.

Like many that study Lisp, I think, I’m learning Lisp no so much to know Lisp better but to know programming better, in general. Though Lisp is lovely.

Posted February 2, 2014 | | File under: ,

A good day programming today

Posted July 19, 2013 | | File under: , ,

This week for me, wow, a big week.

I had a technical interview on Monday. My first ever. Smart engineers looking over my shoulder as I try to prove that I know JavaScript by coding some stuff on a whiteboard and on paper. Super stressful and ultimately amazing experience.

Tuesday evening, I’m offered a job as a “Front End Developer” writing JavaScript, full time, for money. Something I’ve worked really hard for and dreamt of for I don’t even know how long.

Wednesday I accept the offer, sign on the dotted line and BAM! I am a professional developer. Also, it happens to be my 35th birthday.

Thursday, today, I put in my two weeks notice and resign from my current job as non-developer, which I’ve had for 7 years — what?! 7 years?! Yes, 7 years.

I’ve been a developer for a while, but now I am a professional developer and I get to write code for money.

First day is Dec. 3. Can’t wait.

Wow.

Posted November 15, 2012 | | File under: , ,

I love programming.

Posted October 4, 2012 | | File under:

Ruby is good. Sinatra is good. PHP is bad. WordPress is good. Windows is bad. Unix is good. I want to focus on the good things.

Posted September 6, 2012 | | File under:

Super stoked that my pull request — my first ever submitted on github — on mocha.js has been committed. Just happy to contribute in general, and even more so to contribute to an awesome library that I use and really like. Really really stoked on this.

Posted July 26, 2012 | | File under: ,

Died laughing when Douglas Crockford called this the dog balls:

(function() {

  // some code

})();

Those ending parens are the dog balls just hanging outside. haha.

Posted January 13, 2012 | | File under: ,

bionicbrian.com | About

Creative Commons License