Due to my endless frustrations with the Tar Library we use at work and some limitations of the format in general, I decided to create my own file format and library. There is now Feather. The Feather format can be described as a simple, extensible storage format. By using optional fields, a feather file can include all the information normally stored in a tar, or as little as the name, size, and data of a file.
While UStar formatted Tar files have a maximum filename length of 255 (with some restrictions), Feather has a maximum filename length of 23,767. Without the GNU extensions, Tar has a maximum file size limit of 8 GB. Feather, on the other hand, has a maximum file size of 8 EB, or 8 GB * 1024³. Finally, Feather has native support for UTF-16, which Tar lacks completely.
The current state of the Feather repository is a bit of a mess, because it was originally programmed solely using ByteBuffers and FileChannels, but a need arose for Input and Output Streams. I will likely remove the use of ByteBuffers and FileChannels so that there is only one official implementation of Feather.
Comments Off
Flicasa is my pet project (created for Django Dash) that I haven’t worked on in a few weeks. In the meantime, however, I’ve learned quite a bit about Django and Python by convincing my boss that our new internal website should ditch Struts for something sexier. I hope to find time to work on Flicasa soon.
Anyways, I’ve decided to make the site public. Head to http://flicasa.com to take it for a spin. All the public pages should work correctly, even if they’re a little unintuitive. If you notice a problem head to the contact page and shoot me an email.
Comments Off
Posted by: Jeff, tags: computers, server
Some interesting links to help when setting up AWStats on Ubuntu:
For example, my server doesn’t log any requests to my blog’s admin pages. This means the stats don’t contain hits for any work I’m doing on the site.
Comments Off
Posted by: Jeff, tags: computers, server
Mongrels used way too much ram. My little underpowered VPS couldn’t handle running a cluster of mongrels in addition to everything else I’ve got going on. Enter mod_rails and Ruby Enterprise Edition. These two free products of Phusion provide a nice, easy to setup alternative to standard Ruby and Mongrel. I was able to remove Mongrel from my startup and use an Apache2 module for running RoR. The only hickup I ran into was needing to reinstall a specific version of rails. The Ruby Enterprise Edition installed seemed to pick up the newest version (2.3.2), but apparently I had a dependency on 2.2.2. Once I got that straightened out I was able to reclaim precious megabytes of RAM. I once again have enough breathing room that I can focus on something other than optimizations.
Phusion
Comments Off
Posted by: Jeff, tags: computers, server
I’ve nearly completed the setup of my new host. I’ve managed to set up the following services/programs:
- Nginx as a reverse proxy
- Apache2 for heavy duty needs
- Django
- Php
- Postgresql (to use when possible)
- MySQL (to use when necessary — Wordpress)
- Mercurial
- Ruby on Rails / Mongrel Cluster
It’s been a long journey and I’ve used several resources. I’ll briefly list them for anybody else working on a similar project.
Finally, I had a problem with mongrel_cluster not starting automatically. This turned out to be due to PATH issues with the rubygem binaries. I fixed this with this command:
for file in 'ls'
do
sudo ln -s `pwd`/$file /bin/
done
That will create a symbolic link from /bin to each file in the current directory. For rubygems this would need to be run in
/var/lib/gems/1.8/bin
And finally, everything is working!
Comments Off