lloyd.io is the personal website of Lloyd Hilaiel, a software engineer who works for Team Ozlo and lives in Denver.

All the stuff you'll find here is available under a CC BY-SA 3.0 license (use it and change it, just don't lie about who wrote it). Icons on this site are commercially available from steedicons.com. Fonts used are available in Google's Web Font directory, and I'm using Ubuntu and Lekton. Finally, Jekyll is used for site rendering.

Finally, Atul, Pascal, and Stephen inspired the site's design. And in case you're interested, this site's code is available on github.

installing the sup MUA on 64bit arch linux
2009-09-24 00:00:00 -0700

You’ll probably get here from a google search on trying to figure out how to get sup running on your arch box that was recently upgraded to ruby 1.9. sure it hurts, but it’s progress! Pick a different distro if you don’t wanna play!

Getting sup running, quick and dirty and highly time dependent:

installing the ferret gem

gem install sup will fail miserably, first you’ll find that “ferret” isn’t installing. This problem has been solved, sure would be nice to get this accepted up stream :/

installing ncurses

try again, now ncurses ain’t installing!

here’s some steps that should work:

$ gem fetch ncurses
$ gem unpack ncurses-0.9.1.gem 
$ ruby extconf.rb 
$ patch -p1 < ~/ncurses_ruby_1.9.patch
$ make
$ sudo make install

Here’s the contents of ncurses_ruby_1.9.patch:

--- ncurses-0.9.1.orig/form_wrap.c  2009-09-24 10:53:41.000000000 -0600
+++ ncurses-0.9.1/form_wrap.c   2009-09-24 10:52:02.000000000 -0600
@@ -392,7 +392,7 @@
 static VALUE rbncurs_m_new_form(VALUE dummy, VALUE rb_field_array)
-  long n = RARRAY(rb_field_array)->len;
+  long n = RARRAY_LEN(rb_field_array);
   /* Will ncurses free this array? If not, must do it after calling free_form(). */
   FIELD** fields = ALLOC_N(FIELD*, (n+1));
   long i;  
@@ -616,7 +616,7 @@
        rb_raise(rb_eArgError, "TYPE_ENUM requires three additional arguments");
     else {
-       int n = RARRAY(arg3)->len;
+       int n = RARRAY_LEN(arg3);
        /*  Will ncurses free this array of strings in free_field()? */
        char** list = ALLOC_N(char*, n+1);
        int i;
@@ -775,7 +775,7 @@
  * form_field
 static VALUE rbncurs_c_set_form_fields(VALUE rb_form, VALUE rb_field_array) {
-  long n = RARRAY(rb_field_array)->len;
+  long n = RARRAY_LEN(rb_field_array);
   /*  If ncurses does not free memory used by the previous array of strings, */
   /*  we will have to do it now. */
   FIELD** fields = ALLOC_N(FIELD*, (n+1));
@@ -1123,7 +1123,7 @@
     VALUE argc = rb_funcall(proc, rb_intern("arity"),0);
     VALUE args = get_proc(field, FIELDTYPE_ARGS);
     if (args != Qnil) {        
-       if (NUM2INT(argc)-1 != RARRAY(args)->len) { 
+       if (NUM2INT(argc)-1 != RARRAY_LEN(args)) {  
          char msg[500];
          snprintf(msg, 500, "The validation functions for this field type need %d additional arguments.",NUM2INT(argc)-1);

the rest…

First, clone yourself a copy of sup from the gitorius hosted repo:

git clone git://gitorious.org/sup/mainline.git

And follow the instructions:

  1. install all gems referenced in the rakefile
  2. as the author suggests ruby -I lib bin/sup

Behold! It starts! Now is it actually usable is another question…