Collectd 5, Redis 2, and FreeBSD

Collectd is software to collect data about the software and hardware running on your computers. It also has various options for storage backends. Currently I use the carbon/graphite combination as storage and presentation front-end for collectd.

Redis is a data storage backend, that is really fast since the data is stored in memory and only persisted to disk as necessary or required. Redis provides some basic data structures and functions to query and manipulate the structures. This makes it more flexible than memcached, while being similarly quick.

The FreeBSD port of collectd 5.x doesn't include an option ...

SPDY vs Pipelining and Mobile First

So the IETF has decided to use Google/Doubleclick's SPDY as the basis of HTTP 2.0. The rationale for this change is that increased network speeds are now limited by network latency. One of the interesting comments to the discussion was from Facebook, which admitted they've reworked their content delivery infrastructure and practices to gain any value from SPDY/HTTP 2.0.

Why would they have to rework their infrastructure? Because the best practices for web development have been developed to deliver content to desktop browsers. These best practices are to minimize HTTP requests via asset concatenation ...

CouchDB Woes and Writing Erlang Map/Reduce

So the FreeBSD ports tree finally moved the CouchDB port to 1.2. Upon upgrading, I discovered that the javascript indexing seemed to be dying silently on the largest of my small databases. Unfortunately this was the database that was actively used as a data store for one of my sites.

This led to two immediate actions. First I actually got around to putting the data retrieval function in a proper try/except block. This means instead of the site dying when CouchDB fails, it just tells me to kick the couch. Second I decided to rewrite the map/reduce ...

WhatWG: The Junta

A long time ago in a galaxy far far away, there was an evil empire that ruled the web with an iron fist. They were accused of being closed and authoritarian. Their latest decrees for the future of the web created rebellion among the web's princelings.

And with that the princelings set up the WhatWG and declared that they were fully open to all and not authoritarian like the evil empire.

And as time went on, the WhatWG set up one and only one author-for-life for their standard. All netizens are equally able to contribute, but some netizens are ...

Monitoring Riak With Collectd 5

So after listening to too many "DevOps" podcasts, I decided to get off my ass and do some things. One of those things was wanting to play around with graphite. Graphite is a django-based front-end for the whisper/carbon monitoring data storage system. I noticed that all three had found their way in to the FreeBSD ports tree. You can find them at web/py-graphite-web, databases/py-carbon, and databases/py-whisper.

I've collected a bit of historical data with collectd and had been using the php-based Collectd Graph Panel as the front-end. This had familiarized me with collectd's system ...

Yahoo Groups and 3rd Party Email Registration

I've helped with product development and product sourcing for some time here in Hong Kong. This means I've attended many tech trade shows and passed out countless business cards. Since these are Chinese businesses, this provides great tests for my SpamAssassin installation.

The latest trick that certain mainland spammers have taken up is creating Yahoo groups and then signing my email address up to receive the emails for their group. Yahoo Groups does not require an email confirmation for 3rd Party signup to the Yahoo Groups. The admins in news.admin.net-abuse.email knew this was a recipe ...

Browser Makers Failed Us But Claim To Be Saviors

The newest complaint sweeping the web dev community is "IE8 is the new IE9". Yet unnoted is that if IE6-IE8 had the capabilities to properly consume all of HTML 4 or XHTML 1.x, then there would never have been a need for the browser manufacturers to highjack the standards process with the WhatWG.

Lots of web devs will scoff at that and are happy to proclaim the WhatWG and browser manufacturers conquering heroes for providing audio/video tags (which should be covered under the HTML 4 object tag now that the browsers have native support for audio and video ...

The Eschatonians: Notes On The Redesign

The Eschatonians is a blog aggregator. It collects the posts from as many commenters at The Eschaton as I can assemble and repackages them for quick browsing.

For years the site has been running on the same version of Lilina. Lilina is an aggregator written in php, which used the venerable Magpie RSS parsing library. It used a flat-file cache for the feeds and no historical data storage. Very minimalistic and relatively fast for a php-based app. The development of Lilina switched hands. The latest trunk version is pretty nice, but the developers haven't solidified the code and produced ...

The Ugly Secret of Nice URLs and 301s

So there has recently been another round of talk about nice URLs and the use of hashbang's to handle ajax overload. Most of the folks who talk about nice URLs point to the sound use of http response codes to notify users of restructuring the URLs on a site. Here's a dirty little secret, nobody uses the 301s.

Over six months ago I moved one of my site's from using the venerable Apache home directory syntax (http://www.sitename.com/~username/) to a URL using an alias that removed the problematic tilde. (Lots of clients mangled the ...

Moved to Nginx

So after doing some more benchmarks, I decided to take the leap and move to nginx for the web server here at The Eleven. After 15+ years of using apache, I decided that for the sake of memory and CPU that I'd jump to nginx. Rewriting server rewrites has been a pain in the ass for various php apps that liberally use .htaccess for rewrites, but I finished it off finally for all of my vhosts.

The one app that I haven't moved to nginx directly is nagios, so nginx just proxies it to apache.

I haven't ...

Page 1 of 14 1 2 3 12 13 14 »