RSSAmplifier
There isn’t really anything…"},{"@type":"BlogPosting","headline":"Cookieless User Tracking","url":"https://brett.is/writing/about/cookieless-user-tracking/","datePublished":"2013-11-30T00:00:00.000Z","abstract":"A look into various methods of online user tracking without cookies. Over the past few months, in my free time, I have been researching various methods for cookieless user tracking. I have a previous article that talks on how to write a tracking server which uses cookies to follow people between requests. However, recently browsers are beginning to disallow third party cookies by default which…"},{"@type":"BlogPosting","headline":"My New Website","url":"https://brett.is/writing/about/my-new-website/","datePublished":"2013-11-16T00:00:00.000Z","abstract":"Why did I redo my website? What makes it any better? Why are there old posts that are missing? I just wanted to write a quick post about my new site. Some of you who are not familiar with my site might not notice the difference, but trust me… it is different and for the better. So what has changed? For starters, I think the new design is a little simpler than the previous, but more…"},{"@type":"BlogPosting","headline":"The Fastest Python JSON Library","url":"https://brett.is/writing/about/fastest-python-json-library/","datePublished":"2013-09-22T00:00:00.000Z","abstract":"My results from benchmarking a handfull of Python JSON parsing libraries. Most who know me well know that I am usually not one for benchmarks. Especially blindly posted benchmark results in blog posts (like how this one is going to be). So, instead of trying to say that “this library is better than that library” or to try and convince you that you are going to end up with the same results as me.…"},{"@type":"BlogPosting","headline":"The Battle of the Caches","url":"https://brett.is/writing/about/the-battle-of-the-caches/","datePublished":"2013-08-01T00:00:00.000Z","abstract":"A co-worker and I set out to each build our own http proxy cache. One of them was written in Go and the other as a C++ plugin for Kyoto Tycoon. So, I know what most people are thinking: “Not another cache benchmark post, with skewed or biased results.” But luckily that is not what this post is about; there are no opinionated graphs showing that my favorite caching system happens to be better than…"},{"@type":"BlogPosting","headline":"Browser Fingerprinting","url":"https://brett.is/writing/about/browser-fingerprinting/","datePublished":"2013-06-05T00:00:00.000Z","abstract":"Ever want to know what browser fingerprinting is or how it is done? What is Browser Fingerprinting? A browser or device fingerprint is a term used to describe an identifier generated from information retrieved from a single given device that can be used to identify that single device only. For example, as you will see below, browser fingerprinting can be used to generate an identifier for the…"}]}

Blog

Brett.is

Recent content on Brett.is

brett.isRSS feed ↗15 posts

Latest posts

Thinking about transactional email

I have recently started working on a new project, Mailchemy , for managing all of your transactional email integrations behind one easy to use API. For awhile now I have been thinking about the complications of transactional email. In the past I have found myself wanting to change email service providers, either for pricing or reliability reasons, but I’ve found myself stuck. I had…

Managing Go dependencies with git-subtree

Recently I have decided to make the switch to using git-subtree for managing dependencies of my Go projects. For a while now I have been searching for a good way to manage dependencies for my Go projects. I think I have finally found a work flow that I really like that uses git-subtree . When I began investigating different ways to manage dependencies I had a few small goals or concepts I wanted…

Write code every day

Just like a poet or an athlete practicing code every day will only make you better. Lately I have been trying to get into blogging more and any article I read always says, “you need to write every day”. It doesn’t matter if what I write down gets published, but forming the habit of trying to write something every day is what counts. The more I write the easier it will become, the…

Forge configuration parser

An overview of how I wrote a configuration file format and parser. Recently I have finished the initial work on a project, forge , which is a configuration file syntax and parser written in go. Recently I was working on a project where I was trying to determine what configuration language I wanted to use and whether I tested out YAML or JSON or ini , nothing really felt right. What I really wanted…

What I'm up to these days

It has been awhile since I have written anything in my blog. Might as well get started somewhere, like a brief summary of what I have been working on lately. It has been far too long since I last wrote in this blog. I always have these aspirations of writing all the time about all the things I am working on. The problem generally comes back to me not feeling confident enough to write about…

Javascript Documentation Generation

I have always been trying to find a good Javascript documentation generator and I have never really been very happy with any that I have found. So I’ve decided to just write my own, DocAST. The problem I have always had with any documentation generators is they are either hard to theme or are sometimes very strict with the way doc strings are suppose to be written, making them potentially…

Python Redis Queue Workers

Learn an easy, distributed approach to processing jobs from a Redis queue in Python. Recently I started thinking about a new project. I want to write my own Continuous Integration (CI) server. I know what you are thinking… “Why?!” and yes I agree, there are a bunch of good ones out there now, I just want to do it. The first problem I came across was how to have distributed…

Lets Make a Metrics Beacon

Recently I wrote a simple javascript metrics beacon library. Let me show you what I came up with and how it works. So, what do I mean by “javascript metrics beacon library”? Think RUM (Real User Monitoring) or Google Analytics , it is a javascript library used to capture/aggregate metrics/data from the client side and send that data to a server either in one big batch or in small…

Goodbye Grunt, Hello Tend

Recently decided to give Grunt a try, which caused me to write my own node.js build system. For the longest time I had refused to move away from Makefiles for Grunt or some other node.js build system. But I finally gave in and decided to take an afternoon to give Grunt a go. Initially it seemed promising, Grunt had a plugin for everything and ultimately it supporting watching files and directories…

Sharing Data from PHP to JavaScript

A quick example of how I decided to share dynamic content from PHP with my JavaScript. So the other day I was refactoring some of the client side code I was working on and came across something like the following: page.php <html> ... <script type="text/javascript"> var modelTitle = "<?=$myModel->getTitle()?>"; // do something with modelTitle </script> </html> There isn&rsquo;t really anything…

Cookieless User Tracking

A look into various methods of online user tracking without cookies. Over the past few months, in my free time, I have been researching various methods for cookieless user tracking. I have a previous article that talks on how to write a tracking server which uses cookies to follow people between requests. However, recently browsers are beginning to disallow third party cookies by default which…

My New Website

Why did I redo my website? What makes it any better? Why are there old posts that are missing? I just wanted to write a quick post about my new site. Some of you who are not familiar with my site might not notice the difference, but trust me&hellip; it is different and for the better. So what has changed? For starters, I think the new design is a little simpler than the previous, but more…

The Fastest Python JSON Library

My results from benchmarking a handfull of Python JSON parsing libraries. Most who know me well know that I am usually not one for benchmarks. Especially blindly posted benchmark results in blog posts (like how this one is going to be). So, instead of trying to say that “this library is better than that library” or to try and convince you that you are going to end up with the same results as me.…

The Battle of the Caches

A co-worker and I set out to each build our own http proxy cache. One of them was written in Go and the other as a C++ plugin for Kyoto Tycoon. So, I know what most people are thinking: “Not another cache benchmark post, with skewed or biased results.” But luckily that is not what this post is about; there are no opinionated graphs showing that my favorite caching system happens to be better than…

Browser Fingerprinting

Ever want to know what browser fingerprinting is or how it is done? What is Browser Fingerprinting? A browser or device fingerprint is a term used to describe an identifier generated from information retrieved from a single given device that can be used to identify that single device only. For example, as you will see below, browser fingerprinting can be used to generate an identifier for the…