sup

A curses threads-with-tags style email client

sup-website.git

git clone https://supmua.dev/git/sup-website/

community/pipermail-archives/sup-devel/2011-06.txt (107164B) - raw

      1 From eg@gaute.vetsj.com  Thu Jun  2 10:36:04 2011
      2 From: eg@gaute.vetsj.com (Gaute Hope)
      3 Date: Thu, 02 Jun 2011 16:36:04 +0200
      4 Subject: [sup-devel] Invalid encoding symbol when doing Marshal.load
      5 Message-ID: <1307025076-sup-2874@qwerzila>
      6 
      7 Hi,
      8 
      9 I've been searching a bit through some old mail and suddenly encountered
     10 the following error:
     11 
     12   --- EncodingError from thread: load threads for thread-index-mode
     13   invalid encoding symbol
     14   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:796:in `load'
     15   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:796:in `entry'
     16   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:571:in `get_entry'
     17   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:200:in `block in build_message'
     18   /usr/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
     19   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:579:in `synchronize'
     20   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:200:in `build_message'
     21   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:155:in `block (2 levels) in each_id_by_date'
     22   /home/gaute/dev/ruby/sup.git/lib/sup/thread.rb:338:in `call'
     23   /home/gaute/dev/ruby/sup.git/lib/sup/thread.rb:338:in `block in load_n_threads'
     24   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:155:in `block in each_id_by_date'
     25   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:250:in `block in each_id'
     26   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:250:in `each'
     27   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:250:in `each_id'
     28   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:155:in `each_id_by_date'
     29   /home/gaute/dev/ruby/sup.git/lib/sup/thread.rb:334:in `load_n_threads'
     30   /home/gaute/dev/ruby/sup.git/lib/sup/modes/thread-index-mode.rb:643:in `load_n_threads'
     31   (eval):12:in `load_n_threads'
     32   /home/gaute/dev/ruby/sup.git/lib/sup/modes/thread-index-mode.rb:627:in `block in load_n_threads_background'
     33   /home/gaute/dev/ruby/sup.git/lib/sup.rb:78:in `block in reporting_thread'
     34 
     35 running latest 'next'. I've tried to experiment a bit with it, but
     36 haven't found a solution. Trying to encode data, or force_encode the
     37 data to UTF-8.
     38 
     39 This happens when listing some old mail, so it could possibly be an
     40 issue with data not _stored_ correctly in the first place.
     41 
     42 I still haven't figured out a way to handle the exception and still get
     43 the message structure de-serialized. Any suggestions?
     44 
     45 Best regards,
     46 Gaute
     47 
     48 From wmorgan-sup@masanjin.net  Wed Jun  8 01:21:45 2011
     49 From: wmorgan-sup@masanjin.net (William Morgan)
     50 Date: Wed, 08 Jun 2011 05:21:45 +0000
     51 Subject: [sup-devel] Cannot query Japanese characters
     52 In-Reply-To: <BANLkTimr0u=6oB4uSK_6itUU2UMR-yJz+w@mail.gmail.com>
     53 References: <201104251023.19659.hsanson@gmail.com>
     54 	<1303793294-sup-688@masanjin.net>
     55 	<1304052708-sup-4240@masanjin.net>
     56 	<BANLkTim9PigP91LaDQ6UG2_prxncYv1zEA@mail.gmail.com>
     57 	<BANLkTi=ObuZiHWGs7Mtvh8J5k4J3KTxgMA@mail.gmail.com>
     58 	<BANLkTi=tSnbEijoEHG76Z5Fy9-3G4TPxVw@mail.gmail.com>
     59 	<1304460745-sup-6241@masanjin.net>
     60 	<BANLkTikbENFqT2GsE5uWjqN_DTMq43FFkw@mail.gmail.com>
     61 	<1304527268-sup-7661@masanjin.net>
     62 	<BANLkTimr0u=6oB4uSK_6itUU2UMR-yJz+w@mail.gmail.com>
     63 Message-ID: <1307509658-sup-6995@masanjin.net>
     64 
     65 Reformatted excerpts from Horacio Sanson's message of 2011-05-06:
     66 > Great, let me know when you have the modifications so I can stress
     67 > test them.
     68 
     69 In the most recent version of Heliotrope, there are two hooks you can
     70 use to do this: transform-text and transform-query. To use them, place
     71 your Ruby code in files called <store dir>/hooks/<hook-name>.rb.
     72 
     73 For transform-text, place your code in <store dir>/hooks/transform-text.rb
     74 This hook will be called on any text added to the index. The 'text'
     75 variable will contain the text, and the hook should return (i.e. the
     76 last command should evaluate to) the transformed text.
     77 
     78 Example:
     79   $ cat store/hooks/transform-text.rb
     80   require 'MeCab'
     81   MeCab::Tagger.new("-Owakati").parse(text).gsub(/\s+/, " ")
     82 
     83 For transform-query, place your code in <store
     84  dir>/hooks/transform-query.rb. This hook will be called on any query
     85 before it is executed. The 'query' variable will contain the query
     86 string, and the hook should return (i.e. the last command should
     87 evaluate to) the transformed query.
     88 
     89 Example:
     90   $ cat store/hooks/transform-query.rb
     91   require 'MeCab'
     92   MeCab::Tagger.new("-Owakati").parse(query).gsub(/\s+/, " ")
     93 
     94 Let me know if you have any problems with these hooks!
     95 -- 
     96 William <wmorgan-sup at masanjin.net>
     97 
     98 From eg@gaute.vetsj.com  Thu Jun  9 07:28:07 2011
     99 From: eg@gaute.vetsj.com (Gaute Hope)
    100 Date: Thu, 09 Jun 2011 13:28:07 +0200
    101 Subject: [sup-devel] Invalid encoding symbol when doing Marshal.load
    102 In-Reply-To: <1307025076-sup-2874@qwerzila>
    103 References: <1307025076-sup-2874@qwerzila>
    104 Message-ID: <1307618816-sup-5149@qwerzila>
    105 
    106 Excerpts from Gaute Hope's message of 2011-06-02 16:36:04 +0200:
    107 > Hi,
    108 > 
    109 > I've been searching a bit through some old mail and suddenly encountered
    110 > the following error:
    111 > 
    112 >   --- EncodingError from thread: load threads for thread-index-mode
    113 >   invalid encoding symbol
    114 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:796:in `load'
    115 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:796:in `entry'
    116 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:571:in `get_entry'
    117 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:200:in `block in build_message'
    118 >   /usr/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
    119 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:579:in `synchronize'
    120 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:200:in `build_message'
    121 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:155:in `block (2 levels) in each_id_by_date'
    122 >   /home/gaute/dev/ruby/sup.git/lib/sup/thread.rb:338:in `call'
    123 >   /home/gaute/dev/ruby/sup.git/lib/sup/thread.rb:338:in `block in load_n_threads'
    124 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:155:in `block in each_id_by_date'
    125 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:250:in `block in each_id'
    126 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:250:in `each'
    127 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:250:in `each_id'
    128 >   /home/gaute/dev/ruby/sup.git/lib/sup/index.rb:155:in `each_id_by_date'
    129 >   /home/gaute/dev/ruby/sup.git/lib/sup/thread.rb:334:in `load_n_threads'
    130 >   /home/gaute/dev/ruby/sup.git/lib/sup/modes/thread-index-mode.rb:643:in `load_n_threads'
    131 >   (eval):12:in `load_n_threads'
    132 >   /home/gaute/dev/ruby/sup.git/lib/sup/modes/thread-index-mode.rb:627:in `block in load_n_threads_background'
    133 >   /home/gaute/dev/ruby/sup.git/lib/sup.rb:78:in `block in reporting_thread'
    134 
    135 Also perhaps worth mentioning; I get an error on several documents when
    136 doing sup-dump:
    137 
    138 failed to dump document 2192065433
    139 failed to dump document 2195211019
    140 failed to dump document 2195211571
    141 failed to dump document 2197009224
    142 failed to dump document 2197023569
    143 failed to dump document 2197023801
    144 failed to dump document 2198792521
    145 failed to dump document 2199089510
    146 failed to dump document 2199602802
    147 failed to dump document 2199602803
    148 failed to dump document 2200333894
    149 failed to dump document 2201147825
    150 failed to dump document 2201629209
    151 failed to dump document 2207757157
    152 failed to dump document 2207760235
    153 failed to dump document 2209183158
    154 failed to dump document 2209239264
    155 failed to dump document 2210514594
    156 failed to dump document 2211271070
    157 failed to dump document 2211437027
    158 
    159 Could perhaps be related.
    160 
    161 - Gaute
    162 
    163 From eg@gaute.vetsj.com  Thu Jun  9 07:30:30 2011
    164 From: eg@gaute.vetsj.com (Gaute Hope)
    165 Date: Thu, 09 Jun 2011 13:30:30 +0200
    166 Subject: [sup-devel] Another UTF-8 exception: edit-message-mode.rb
    167 In-Reply-To: <1306828491-sup-5835@qwerzila>
    168 References: <1306828491-sup-5835@qwerzila>
    169 Message-ID: <1307618902-sup-5198@qwerzila>
    170 
    171 Excerpts from Gaute Hope's message of 2011-05-31 09:57:39 +0200:
    172 > And a patch:
    173 > 0001-Fix-UTF-8-exception-in-santizing-body.patch
    174 
    175 *bump*
    176 
    177 Any comments on this or on whether it will be included?
    178 
    179 Cheers,
    180 Gaute
    181 
    182 From hsanson@gmail.com  Thu Jun  9 09:48:23 2011
    183 From: hsanson@gmail.com (Horacio Sanson)
    184 Date: Thu, 9 Jun 2011 22:48:23 +0900
    185 Subject: [sup-devel] Cannot query Japanese characters
    186 In-Reply-To: <1307509658-sup-6995@masanjin.net>
    187 References: <201104251023.19659.hsanson@gmail.com>
    188 	<1303793294-sup-688@masanjin.net>
    189 	<1304052708-sup-4240@masanjin.net>
    190 	<BANLkTim9PigP91LaDQ6UG2_prxncYv1zEA@mail.gmail.com>
    191 	<BANLkTi=ObuZiHWGs7Mtvh8J5k4J3KTxgMA@mail.gmail.com>
    192 	<BANLkTi=tSnbEijoEHG76Z5Fy9-3G4TPxVw@mail.gmail.com>
    193 	<1304460745-sup-6241@masanjin.net>
    194 	<BANLkTikbENFqT2GsE5uWjqN_DTMq43FFkw@mail.gmail.com>
    195 	<1304527268-sup-7661@masanjin.net>
    196 	<BANLkTimr0u=6oB4uSK_6itUU2UMR-yJz+w@mail.gmail.com>
    197 	<1307509658-sup-6995@masanjin.net>
    198 Message-ID: <BANLkTim6_vC3K+ZcrTPgLnckYPRLxG9zOQ@mail.gmail.com>
    199 
    200 On Wed, Jun 8, 2011 at 2:21 PM, William Morgan <wmorgan-sup at masanjin.net> wrote:
    201 > Reformatted excerpts from Horacio Sanson's message of 2011-05-06:
    202 >> Great, let me know when you have the modifications so I can stress
    203 >> test them.
    204 >
    205 > In the most recent version of Heliotrope, there are two hooks you can
    206 > use to do this: transform-text and transform-query. To use them, place
    207 > your Ruby code in files called <store dir>/hooks/<hook-name>.rb.
    208 >
    209 > For transform-text, place your code in <store dir>/hooks/transform-text.rb
    210 > This hook will be called on any text added to the index. The 'text'
    211 > variable will contain the text, and the hook should return (i.e. the
    212 > last command should evaluate to) the transformed text.
    213 >
    214 > Example:
    215 > ?$ cat store/hooks/transform-text.rb
    216 > ?require 'MeCab'
    217 > ?MeCab::Tagger.new("-Owakati").parse(text).gsub(/\s+/, " ")
    218 >
    219 > For transform-query, place your code in <store
    220 > ?dir>/hooks/transform-query.rb. This hook will be called on any query
    221 > before it is executed. The 'query' variable will contain the query
    222 > string, and the hook should return (i.e. the last command should
    223 > evaluate to) the transformed query.
    224 >
    225 > Example:
    226 > ?$ cat store/hooks/transform-query.rb
    227 > ?require 'MeCab'
    228 > ?MeCab::Tagger.new("-Owakati").parse(query).gsub(/\s+/, " ")
    229 >
    230 > Let me know if you have any problems with these hooks!
    231 
    232 Great I am downloading my gmail accounts now (again). I can see you
    233 have improved the imap-dumper.rb to handle uidvalidity and uidnext
    234 that is also great. In the git log says gmail labels are also copied
    235 to heliotrope but I don't see them in my index.
    236 
    237 BTW there are two small bugs in the imap-dumper.rb, see attached patch
    238 for details.
    239 
    240 regards,
    241 Horacio
    242 
    243 > --
    244 > William <wmorgan-sup at masanjin.net>
    245 > _______________________________________________
    246 > Sup-devel mailing list
    247 > Sup-devel at rubyforge.org
    248 > http://rubyforge.org/mailman/listinfo/sup-devel
    249 >
    250 
    251 gmail
    252 -------------- next part --------------
    253 A non-text attachment was scrubbed...
    254 Name: 0001-Fix-imap-dumper.patch
    255 Type: text/x-patch
    256 Size: 1033 bytes
    257 Desc: not available
    258 URL: <http://rubyforge.org/pipermail/sup-devel/attachments/20110609/61e5e685/attachment.bin>
    259 
    260 From hsanson@gmail.com  Thu Jun  9 10:08:56 2011
    261 From: hsanson@gmail.com (Horacio Sanson)
    262 Date: Thu, 9 Jun 2011 23:08:56 +0900
    263 Subject: [sup-devel] Cannot query Japanese characters
    264 In-Reply-To: <BANLkTim6_vC3K+ZcrTPgLnckYPRLxG9zOQ@mail.gmail.com>
    265 References: <201104251023.19659.hsanson@gmail.com>
    266 	<1303793294-sup-688@masanjin.net>
    267 	<1304052708-sup-4240@masanjin.net>
    268 	<BANLkTim9PigP91LaDQ6UG2_prxncYv1zEA@mail.gmail.com>
    269 	<BANLkTi=ObuZiHWGs7Mtvh8J5k4J3KTxgMA@mail.gmail.com>
    270 	<BANLkTi=tSnbEijoEHG76Z5Fy9-3G4TPxVw@mail.gmail.com>
    271 	<1304460745-sup-6241@masanjin.net>
    272 	<BANLkTikbENFqT2GsE5uWjqN_DTMq43FFkw@mail.gmail.com>
    273 	<1304527268-sup-7661@masanjin.net>
    274 	<BANLkTimr0u=6oB4uSK_6itUU2UMR-yJz+w@mail.gmail.com>
    275 	<1307509658-sup-6995@masanjin.net>
    276 	<BANLkTim6_vC3K+ZcrTPgLnckYPRLxG9zOQ@mail.gmail.com>
    277 Message-ID: <BANLkTin8e2C9YGFCR1ob5VZJdjWxY4=mGA@mail.gmail.com>
    278 
    279 Unfortunately the gmail sync failed....  Below the error:
    280 
    281  requesting messages 40266..40315 from imap server
    282 ; gmail loving gave us 19 messages in 4.6s = a whopping 4.1m/s
    283 scanned 748, indexed 747, skipped 0 bad and 1 seen messages in 400.4s = 1.9 m/s
    284 ; requesting messages 40316..40365 from imap server
    285 ; gmail loving gave us 8 messages in 2.2s = a whopping 3.7m/s
    286 ; requesting messages 40366..40415 from imap server
    287 /media/DATA/Apps/heliotrope/lib/heliotrope/imap-dumper.rb:73:in
    288 `next_message': undefined method `size' for nil:NilClass
    289 (NoMethodError)
    290         from bin/heliotrope-add:128:in `<main>'
    291 
    292 For some reason "uid_fetch" is returning nil instead of an empty array
    293 (contrary to what Net::IMAP documentation says). Not really sure if
    294 checking for nil and simply repeat the query can resolve the problem
    295 but seems to be the best option.
    296 
    297 
    298 regards
    299 Horacio
    300 
    301 
    302 
    303 On Thu, Jun 9, 2011 at 10:48 PM, Horacio Sanson <hsanson at gmail.com> wrote:
    304 > On Wed, Jun 8, 2011 at 2:21 PM, William Morgan <wmorgan-sup at masanjin.net> wrote:
    305 >> Reformatted excerpts from Horacio Sanson's message of 2011-05-06:
    306 >>> Great, let me know when you have the modifications so I can stress
    307 >>> test them.
    308 >>
    309 >> In the most recent version of Heliotrope, there are two hooks you can
    310 >> use to do this: transform-text and transform-query. To use them, place
    311 >> your Ruby code in files called <store dir>/hooks/<hook-name>.rb.
    312 >>
    313 >> For transform-text, place your code in <store dir>/hooks/transform-text.rb
    314 >> This hook will be called on any text added to the index. The 'text'
    315 >> variable will contain the text, and the hook should return (i.e. the
    316 >> last command should evaluate to) the transformed text.
    317 >>
    318 >> Example:
    319 >> ?$ cat store/hooks/transform-text.rb
    320 >> ?require 'MeCab'
    321 >> ?MeCab::Tagger.new("-Owakati").parse(text).gsub(/\s+/, " ")
    322 >>
    323 >> For transform-query, place your code in <store
    324 >> ?dir>/hooks/transform-query.rb. This hook will be called on any query
    325 >> before it is executed. The 'query' variable will contain the query
    326 >> string, and the hook should return (i.e. the last command should
    327 >> evaluate to) the transformed query.
    328 >>
    329 >> Example:
    330 >> ?$ cat store/hooks/transform-query.rb
    331 >> ?require 'MeCab'
    332 >> ?MeCab::Tagger.new("-Owakati").parse(query).gsub(/\s+/, " ")
    333 >>
    334 >> Let me know if you have any problems with these hooks!
    335 >
    336 > Great I am downloading my gmail accounts now (again). I can see you
    337 > have improved the imap-dumper.rb to handle uidvalidity and uidnext
    338 > that is also great. In the git log says gmail labels are also copied
    339 > to heliotrope but I don't see them in my index.
    340 >
    341 > BTW there are two small bugs in the imap-dumper.rb, see attached patch
    342 > for details.
    343 >
    344 > regards,
    345 > Horacio
    346 >
    347 >> --
    348 >> William <wmorgan-sup at masanjin.net>
    349 >> _______________________________________________
    350 >> Sup-devel mailing list
    351 >> Sup-devel at rubyforge.org
    352 >> http://rubyforge.org/mailman/listinfo/sup-devel
    353 >>
    354 >
    355 > gmail
    356 >
    357 
    358 From wmorgan-sup@masanjin.net  Thu Jun  9 18:46:45 2011
    359 From: wmorgan-sup@masanjin.net (William Morgan)
    360 Date: Thu, 09 Jun 2011 22:46:45 +0000
    361 Subject: [sup-devel] Cannot query Japanese characters
    362 In-Reply-To: <BANLkTim6_vC3K+ZcrTPgLnckYPRLxG9zOQ@mail.gmail.com>
    363 References: <201104251023.19659.hsanson@gmail.com>
    364 	<1303793294-sup-688@masanjin.net>
    365 	<1304052708-sup-4240@masanjin.net>
    366 	<BANLkTim9PigP91LaDQ6UG2_prxncYv1zEA@mail.gmail.com>
    367 	<BANLkTi=ObuZiHWGs7Mtvh8J5k4J3KTxgMA@mail.gmail.com>
    368 	<BANLkTi=tSnbEijoEHG76Z5Fy9-3G4TPxVw@mail.gmail.com>
    369 	<1304460745-sup-6241@masanjin.net>
    370 	<BANLkTikbENFqT2GsE5uWjqN_DTMq43FFkw@mail.gmail.com>
    371 	<1304527268-sup-7661@masanjin.net>
    372 	<BANLkTimr0u=6oB4uSK_6itUU2UMR-yJz+w@mail.gmail.com>
    373 	<1307509658-sup-6995@masanjin.net>
    374 	<BANLkTim6_vC3K+ZcrTPgLnckYPRLxG9zOQ@mail.gmail.com>
    375 Message-ID: <1307659482-sup-7420@masanjin.net>
    376 
    377 Reformatted excerpts from Horacio Sanson's message of 2011-06-09:
    378 > Great I am downloading my gmail accounts now (again). I can see you
    379 > have improved the imap-dumper.rb to handle uidvalidity and uidnext
    380 > that is also great. In the git log says gmail labels are also copied
    381 > to heliotrope but I don't see them in my index.
    382 
    383 I actually added a separate gmail importer that does that stuff,
    384 borrowing from your gmail.rb. Try the -g option.
    385 
    386 It's mostly duplicated with imap-dumper.rb so I'm trying to decide how
    387 to best merge them.
    388 
    389 > BTW there are two small bugs in the imap-dumper.rb, see attached patch
    390 > for details.
    391 
    392 Thank you!
    393 -- 
    394 William <wmorgan-sup at masanjin.net>
    395 
    396 From hsanson@gmail.com  Sat Jun 11 11:30:24 2011
    397 From: hsanson@gmail.com (Horacio Sanson)
    398 Date: Sun, 12 Jun 2011 00:30:24 +0900
    399 Subject: [sup-devel] Invalid meta data error in OklahomaMixer
    400 Message-ID: <BANLkTi=5BQ6f0VPKq9ZhE6KNyXKS9ZMV3Q@mail.gmail.com>
    401 
    402 After finishing sync of my gmail account to heliotrope I tried to
    403 start the server but was received with this error message:
    404 
    405 ruby1.9.1  -Ilib bin/heliotrope-server -d ~/.heliotrope
    406 /var/lib/gems/1.9.1/gems/oklahoma_mixer-0.4.0/lib/oklahoma_mixer/hash_database.rb:337:in
    407 `try': invalid meta data (error code 5)
    408 (OklahomaMixer::Error::CabinetError)
    409         from /var/lib/gems/1.9.1/gems/oklahoma_mixer-0.4.0/lib/oklahoma_mixer/hash_database.rb:44:in
    410 `initialize'
    411         from /var/lib/gems/1.9.1/gems/oklahoma_mixer-0.4.0/lib/oklahoma_mixer.rb:17:in
    412 `new'
    413         from /var/lib/gems/1.9.1/gems/oklahoma_mixer-0.4.0/lib/oklahoma_mixer.rb:17:in
    414 `open'
    415         from /media/DATA/Apps/heliotrope/lib/heliotrope/index.rb:44:in
    416 `initialize'
    417         from bin/heliotrope-server:576:in `new'
    418         from bin/heliotrope-server:576:in `<main>'
    419 
    420 
    421 seems something got corrupted and I have no idea how to recover. Any
    422 tips that would fix this without resync my whole account would be
    423 greatly appreciated.
    424 
    425 
    426 Horacio
    427 
    428 From wmorgan-sup@masanjin.net  Mon Jun 13 22:14:05 2011
    429 From: wmorgan-sup@masanjin.net (William Morgan)
    430 Date: Tue, 14 Jun 2011 02:14:05 +0000
    431 Subject: [sup-devel] Invalid meta data error in OklahomaMixer
    432 In-Reply-To: <BANLkTi=5BQ6f0VPKq9ZhE6KNyXKS9ZMV3Q@mail.gmail.com>
    433 References: <BANLkTi=5BQ6f0VPKq9ZhE6KNyXKS9ZMV3Q@mail.gmail.com>
    434 Message-ID: <1308017442-sup-8849@masanjin.net>
    435 
    436 Reformatted excerpts from Horacio Sanson's message of 2011-06-11:
    437 > ruby1.9.1  -Ilib bin/heliotrope-server -d ~/.heliotrope
    438 > /var/lib/gems/1.9.1/gems/oklahoma_mixer-0.4.0/lib/oklahoma_mixer/hash_database.rb:337:in
    439 > `try': invalid meta data (error code 5)
    440 > (OklahomaMixer::Error::CabinetError)
    441 
    442 Very disturbing. I found this:
    443 
    444 http://www.supermind.org/blog/557/tokyocabinet-hdb-slowdown
    445 
    446 Did you hit 2GB on your store.tch file, by any chance?
    447 -- 
    448 William <wmorgan-sup at masanjin.net>
    449 
    450 From wmorgan-sup@masanjin.net  Mon Jun 13 22:14:32 2011
    451 From: wmorgan-sup@masanjin.net (William Morgan)
    452 Date: Tue, 14 Jun 2011 02:14:32 +0000
    453 Subject: [sup-devel] Invalid meta data error in OklahomaMixer
    454 In-Reply-To: <1308017442-sup-8849@masanjin.net>
    455 References: <BANLkTi=5BQ6f0VPKq9ZhE6KNyXKS9ZMV3Q@mail.gmail.com>
    456 	<1308017442-sup-8849@masanjin.net>
    457 Message-ID: <1308017654-sup-350@masanjin.net>
    458 
    459 Whoops, I mean this:
    460 
    461 http://www.supermind.org/blog/554/2gb-limit-with-tokyo-cabinet-aka-invalid-meta-data
    462 -- 
    463 William <wmorgan-sup at masanjin.net>
    464 
    465 From hsanson@gmail.com  Mon Jun 13 22:37:14 2011
    466 From: hsanson@gmail.com (Horacio Sanson)
    467 Date: Tue, 14 Jun 2011 11:37:14 +0900
    468 Subject: [sup-devel] Invalid meta data error in OklahomaMixer
    469 In-Reply-To: <1308017654-sup-350@masanjin.net>
    470 References: <BANLkTi=5BQ6f0VPKq9ZhE6KNyXKS9ZMV3Q@mail.gmail.com>
    471 	<1308017442-sup-8849@masanjin.net>
    472 	<1308017654-sup-350@masanjin.net>
    473 Message-ID: <BANLkTikqVo2WLyOJ7jTdRgyBm9d3=DbRMw@mail.gmail.com>
    474 
    475 Not even close... my store.tch is 76MB only. This metadata corruption
    476 in Tokyo Cabinet seems to be a common occurrence and what is scary
    477 about this is that there seems to be no way to recover from it (as far
    478 as google can tell). The only option I see is delete my store/index
    479 and restart sync again.
    480 
    481 
    482 regards,
    483 Horacio
    484 
    485 On Tue, Jun 14, 2011 at 11:14 AM, William Morgan
    486 <wmorgan-sup at masanjin.net> wrote:
    487 > Whoops, I mean this:
    488 >
    489 > http://www.supermind.org/blog/554/2gb-limit-with-tokyo-cabinet-aka-invalid-meta-data
    490 > --
    491 > William <wmorgan-sup at masanjin.net>
    492 > _______________________________________________
    493 > Sup-devel mailing list
    494 > Sup-devel at rubyforge.org
    495 > http://rubyforge.org/mailman/listinfo/sup-devel
    496 >
    497 
    498 From wmorgan-sup@masanjin.net  Mon Jun 13 23:30:58 2011
    499 From: wmorgan-sup@masanjin.net (William Morgan)
    500 Date: Tue, 14 Jun 2011 03:30:58 +0000
    501 Subject: [sup-devel] Invalid meta data error in OklahomaMixer
    502 In-Reply-To: <BANLkTikqVo2WLyOJ7jTdRgyBm9d3=DbRMw@mail.gmail.com>
    503 References: <BANLkTi=5BQ6f0VPKq9ZhE6KNyXKS9ZMV3Q@mail.gmail.com>
    504 	<1308017442-sup-8849@masanjin.net>
    505 	<1308017654-sup-350@masanjin.net>
    506 	<BANLkTikqVo2WLyOJ7jTdRgyBm9d3=DbRMw@mail.gmail.com>
    507 Message-ID: <1308022018-sup-5391@masanjin.net>
    508 
    509 Reformatted excerpts from Horacio Sanson's message of 2011-06-14:
    510 > Not even close... my store.tch is 76MB only. This metadata corruption
    511 > in Tokyo Cabinet seems to be a common occurrence and what is scary
    512 > about this is that there seems to be no way to recover from it (as far
    513 > as google can tell). The only option I see is delete my store/index
    514 > and restart sync again.
    515 
    516 Can you point me to some links about this type of corruption?
    517 
    518 I'm far from wedded to Oklahoma Mixer / Tokyo Cabinet. It was just the
    519 easiest thing to get started with. Any kind of mutable persistent
    520 key-value store will do. Other alternatives to consider: another
    521 TokyoCabinet gem besides OH, KyotoCabinet, BDB... I kinda don't want to
    522 move to separate processes like Redis though. If only there were a
    523 libredis (well there is, but it's not what you want.)
    524 -- 
    525 William <wmorgan-sup at masanjin.net>
    526 
    527 From hsanson@gmail.com  Tue Jun 14 00:21:56 2011
    528 From: hsanson@gmail.com (Horacio Sanson)
    529 Date: Tue, 14 Jun 2011 13:21:56 +0900
    530 Subject: [sup-devel] Invalid meta data error in OklahomaMixer
    531 In-Reply-To: <1308022018-sup-5391@masanjin.net>
    532 References: <BANLkTi=5BQ6f0VPKq9ZhE6KNyXKS9ZMV3Q@mail.gmail.com>
    533 	<1308017442-sup-8849@masanjin.net>
    534 	<1308017654-sup-350@masanjin.net>
    535 	<BANLkTikqVo2WLyOJ7jTdRgyBm9d3=DbRMw@mail.gmail.com>
    536 	<1308022018-sup-5391@masanjin.net>
    537 Message-ID: <BANLkTi=CKJmvQ4G2djKikSeT3-to4yPaDA@mail.gmail.com>
    538 
    539 I managed to get the store.tch working again by installing
    540 tokyocabinet-bin and running this command on the file:
    541 
    542   tchmgr optimize -nl store.tch   # without -nl nothing works...
    543 
    544 at the end of this command I got a write error but the file got back
    545 to a usable state. I am afraid this command simply truncated the file
    546 causing some missing emails but not really sure. Is there a way to
    547 check if the index and the messages are in sync? That is all indexed
    548 messages have a corresponding email message in the store.tch?
    549 
    550 Here is a good blog post with tips for using Tokyo Cabinet. It
    551 recommends enabling logging and running optimize from time to time.
    552 Logging would allow us to see what caused the metadata corruption:
    553 
    554   http://www.bigdbahead.com/?p=700
    555 
    556 Some posts of people with the same invalid metadata problem:
    557 
    558   http://twitter.com/#!/ono_matope/statuses/17650765308
    559   http://groups.google.com/group/tokyocabinet-users/browse_thread/thread/f114f078848e20ed
    560 
    561 Tokyo Cabinet is pretty good and is actually used for the largest
    562 social network in Japan
    563 (http://alpha.mixi.co.jp/blog/?s=tchdb&paged=2) so I would not change
    564 it. Even big databases (e.g. MySQL, Postgres and Oracle) are not free
    565 of table corruption. The difference is that they provide tools to
    566 detect and recover from such corruption state.
    567 
    568 regards,
    569 Horacio
    570 
    571 On Tue, Jun 14, 2011 at 12:30 PM, William Morgan
    572 <wmorgan-sup at masanjin.net> wrote:
    573 > Reformatted excerpts from Horacio Sanson's message of 2011-06-14:
    574 >> Not even close... my store.tch is 76MB only. This metadata corruption
    575 >> in Tokyo Cabinet seems to be a common occurrence and what is scary
    576 >> about this is that there seems to be no way to recover from it (as far
    577 >> as google can tell). The only option I see is delete my store/index
    578 >> and restart sync again.
    579 >
    580 > Can you point me to some links about this type of corruption?
    581 >
    582 > I'm far from wedded to Oklahoma Mixer / Tokyo Cabinet. It was just the
    583 > easiest thing to get started with. Any kind of mutable persistent
    584 > key-value store will do. Other alternatives to consider: another
    585 > TokyoCabinet gem besides OH, KyotoCabinet, BDB... I kinda don't want to
    586 > move to separate processes like Redis though. If only there were a
    587 > libredis (well there is, but it's not what you want.)
    588 > --
    589 > William <wmorgan-sup at masanjin.net>
    590 > _______________________________________________
    591 > Sup-devel mailing list
    592 > Sup-devel at rubyforge.org
    593 > http://rubyforge.org/mailman/listinfo/sup-devel
    594 >
    595 
    596 From hsanson@gmail.com  Tue Jun 14 04:36:02 2011
    597 From: hsanson@gmail.com (Horacio Sanson)
    598 Date: Tue, 14 Jun 2011 17:36:02 +0900
    599 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
    600 Message-ID: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    601 
    602 Well I will retract what I said earlier... maybe is a good idea to
    603 replace TokyoCabinet with something else.
    604 
    605 Now the store.tch got corrupted again for some reason and the only
    606 error I get is "invalid record header". Some googling does not help
    607 and my previous fix (tchmgr optimiza -nl) does not fix this problem.
    608 What is interesting is that the store.tch file is at 76MB now that is
    609 exactly the same size it had when the previous corruption occured.
    610 
    611 
    612 ===========  error ============
    613 ; found 496204 new messages...
    614 ; found 496204 messages to scan
    615 ; requesting messages 79228..79327 from imap server
    616 /var/lib/gems/1.9.1/gems/oklahoma_mixer-0.4.0/lib/oklahoma_mixer/hash_database.rb:337:in
    617 `try': invalid record header (error code 6)
    618 (OklahomaMixer::Error::CabinetError)
    619         from /var/lib/gems/1.9.1/gems/oklahoma_mixer-0.4.0/lib/oklahoma_mixer/hash_database.rb:142:in
    620 `fetch'
    621         from /var/lib/gems/1.9.1/gems/oklahoma_mixer-0.4.0/lib/oklahoma_mixer/hash_database.rb:205:in
    622 `include?'
    623         from /media/DATA/Apps/heliotrope/lib/heliotrope/index.rb:633:in
    624 `contains_key?'
    625         from /media/DATA/Apps/heliotrope/lib/heliotrope/index.rb:165:in
    626 `contains_msgid?'
    627         from bin/heliotrope-add:139:in `<main>'
    628 
    629 
    630 regards,
    631 Horacio
    632 
    633 From wmorgan-sup@masanjin.net  Tue Jun 14 13:30:32 2011
    634 From: wmorgan-sup@masanjin.net (William Morgan)
    635 Date: Tue, 14 Jun 2011 17:30:32 +0000
    636 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
    637 In-Reply-To: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    638 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    639 Message-ID: <1308071162-sup-7051@masanjin.net>
    640 
    641 Reformatted excerpts from Horacio Sanson's message of 2011-06-14:
    642 > Now the store.tch got corrupted again for some reason and the only
    643 > error I get is "invalid record header". Some googling does not help
    644 > and my previous fix (tchmgr optimiza -nl) does not fix this problem.
    645 > What is interesting is that the store.tch file is at 76MB now that is
    646 > exactly the same size it had when the previous corruption occured.
    647 
    648 Hm. And you're not running out of disk space or anything wierd like
    649 that, are you?
    650 
    651 Maybe you're encountering a limitation on the number of keys? What does
    652 this say for you?
    653 
    654   $ ruby -Ilib bin/heliotrope-console -d store
    655   Heliotrope console started.
    656   [...]
    657   > s = index.instance_eval { @store }
    658   [...]
    659   > s.size
    660   => 234201
    661   > s.keys.size
    662   => 234201
    663 
    664 (My store.tch is only 30mb.)
    665 -- 
    666 William <wmorgan-sup at masanjin.net>
    667 
    668 From hsanson@gmail.com  Tue Jun 14 18:36:51 2011
    669 From: hsanson@gmail.com (Horacio Sanson)
    670 Date: Wed, 15 Jun 2011 07:36:51 +0900
    671 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
    672 In-Reply-To: <1308071162-sup-7051@masanjin.net>
    673 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    674 	<1308071162-sup-7051@masanjin.net>
    675 Message-ID: <BANLkTi=6EuFkyDh4rjV6zroQv6k-tgH+oA@mail.gmail.com>
    676 
    677 Interesting....  yesterday I started again to sync my gmail account
    678 but this time using ruby1.8.7 instead of ruby1.9.1 and without any
    679 hooks configured and it finished without problems. I think the problem
    680 is the hooks so I will rerun again with ruby 1.9.1 but without the
    681 hooks.
    682 
    683 On Wed, Jun 15, 2011 at 2:30 AM, William Morgan
    684 <wmorgan-sup at masanjin.net> wrote:
    685 > Reformatted excerpts from Horacio Sanson's message of 2011-06-14:
    686 >> Now the store.tch got corrupted again for some reason and the only
    687 >> error I get is "invalid record header". Some googling does not help
    688 >> and my previous fix (tchmgr optimiza -nl) does not fix this problem.
    689 >> What is interesting is that the store.tch file is at 76MB now that is
    690 >> exactly the same size it had when the previous corruption occured.
    691 >
    692 > Hm. And you're not running out of disk space or anything wierd like
    693 > that, are you?
    694 >
    695 > Maybe you're encountering a limitation on the number of keys? What does
    696 > this say for you?
    697 >
    698 > ?$ ruby -Ilib bin/heliotrope-console -d store
    699 > ?Heliotrope console started.
    700 > ?[...]
    701 > ?> s = index.instance_eval { @store }
    702 > ?[...]
    703 > ?> s.size
    704 > ?=> 234201
    705 > ?> s.keys.size
    706 > ?=> 234201
    707 >
    708 > (My store.tch is only 30mb.)
    709 
    710 irb> s = index.instance_eval { @store }
    711 irb> s.size
    712 => 3469212
    713 irb> s.keys.size
    714 => 3469212
    715 
    716 $ ls -lh ~/.heliotrope
    717 ?? 3.8G
    718 drwxrwxr-x 2 ryujin ryujin 4.0K 2011-06-14 17:36 hooks
    719 -rw-r----- 1 ryujin ryujin 4.1M 2011-06-15 07:26 index0.lb
    720 -rw-r----- 1 ryujin ryujin 513M 2011-06-15 07:27 index0.pr
    721 -rw-r----- 1 ryujin ryujin  13M 2011-06-15 07:28 index0.sh_
    722 -rw-r----- 1 ryujin ryujin  65M 2011-06-15 07:27 index0.sp
    723 -rw-r----- 1 ryujin ryujin  37M 2011-06-15 07:28 index0.th
    724 -rw-rw-r-- 1 ryujin ryujin 3.0G 2011-06-15 07:27 messages
    725 -rw-r--r-- 1 ryujin ryujin 378M 2011-06-15 07:28 store.tch
    726 
    727 
    728 > --
    729 > William <wmorgan-sup at masanjin.net>
    730 > _______________________________________________
    731 > Sup-devel mailing list
    732 > Sup-devel at rubyforge.org
    733 > http://rubyforge.org/mailman/listinfo/sup-devel
    734 >
    735 
    736 regards
    737 Horacio
    738 
    739 From wmorgan-sup@masanjin.net  Wed Jun 15 11:11:54 2011
    740 From: wmorgan-sup@masanjin.net (William Morgan)
    741 Date: Wed, 15 Jun 2011 15:11:54 +0000
    742 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
    743 In-Reply-To: <BANLkTi=6EuFkyDh4rjV6zroQv6k-tgH+oA@mail.gmail.com>
    744 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    745 	<1308071162-sup-7051@masanjin.net>
    746 	<BANLkTi=6EuFkyDh4rjV6zroQv6k-tgH+oA@mail.gmail.com>
    747 Message-ID: <1308150597-sup-6406@masanjin.net>
    748 
    749 Reformatted excerpts from Horacio Sanson's message of 2011-06-14:
    750 > Interesting....  yesterday I started again to sync my gmail account
    751 > but this time using ruby1.8.7 instead of ruby1.9.1 and without any
    752 > hooks configured and it finished without problems. I think the problem
    753 > is the hooks so I will rerun again with ruby 1.9.1 but without the
    754 > hooks.
    755 
    756 There is a difference in how strings are marshalled between Ruby 1.8 and
    757 1.9, and you will obviously get different strings if you tokenize
    758 differently, but if either of these two changes is the difference, it's
    759 a bug in TC.
    760 
    761 One option is to write some Ruby bindings to LevelDB and try that, but
    762 it would be a bunch of work, would require C++0x which means every OS X
    763 user would be complaining all the time, etc etc. Not sure if I want to
    764 go down that route.
    765 -- 
    766 William <wmorgan-sup at masanjin.net>
    767 
    768 From wmorgan-sup@masanjin.net  Wed Jun 15 11:16:20 2011
    769 From: wmorgan-sup@masanjin.net (William Morgan)
    770 Date: Wed, 15 Jun 2011 15:16:20 +0000
    771 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
    772 In-Reply-To: <BANLkTi=6EuFkyDh4rjV6zroQv6k-tgH+oA@mail.gmail.com>
    773 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    774 	<1308071162-sup-7051@masanjin.net>
    775 	<BANLkTi=6EuFkyDh4rjV6zroQv6k-tgH+oA@mail.gmail.com>
    776 Message-ID: <1308150793-sup-575@masanjin.net>
    777 
    778 Reformatted excerpts from Horacio Sanson's message of 2011-06-14:
    779 > irb> s.size
    780 > => 3469212
    781 
    782 Ok, squarely between 2^21 and 2^22. It doesn't seem like you're bumping
    783 up against some kind of key size limit.
    784 
    785 > -rw-r--r-- 1 ryujin ryujin 378M 2011-06-15 07:28 store.tch
    786 
    787 Looks like 378mb here. You were sayings 78mb earlier. Was that a
    788 different set of mail?
    789 
    790 If you have a corrupted store.tch file, keep it around. Maybe we can get
    791 one of the TC people to help us.
    792 
    793 But maybe the easiest next thing to try is another TC gem besides
    794 OklahomaMixer.
    795 -- 
    796 William <wmorgan-sup at masanjin.net>
    797 
    798 From wmorgan-sup@masanjin.net  Sat Jun 18 01:02:59 2011
    799 From: wmorgan-sup@masanjin.net (William Morgan)
    800 Date: Sat, 18 Jun 2011 05:02:59 +0000
    801 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
    802 In-Reply-To: <1308150597-sup-6406@masanjin.net>
    803 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    804 	<1308071162-sup-7051@masanjin.net>
    805 	<BANLkTi=6EuFkyDh4rjV6zroQv6k-tgH+oA@mail.gmail.com>
    806 	<1308150597-sup-6406@masanjin.net>
    807 Message-ID: <1308373312-sup-3728@masanjin.net>
    808 
    809 I have pushed a branch called 'leveldb' that uses leveldb instead of
    810 TokyoCabinet. Can you try this please? You will need to install the
    811 'leveldb-ruby' gem.
    812 -- 
    813 William <wmorgan-sup at masanjin.net>
    814 
    815 From hsanson@gmail.com  Sun Jun 19 09:25:34 2011
    816 From: hsanson@gmail.com (Horacio Sanson)
    817 Date: Sun, 19 Jun 2011 22:25:34 +0900
    818 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
    819 In-Reply-To: <1308373312-sup-3728@masanjin.net>
    820 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    821 	<1308150597-sup-6406@masanjin.net>
    822 	<1308373312-sup-3728@masanjin.net>
    823 Message-ID: <201106192225.34516.hsanson@gmail.com>
    824 
    825 On Saturday 18 June 2011 14:02:59 William Morgan wrote:
    826 > I have pushed a branch called 'leveldb' that uses leveldb instead of
    827 > TokyoCabinet. Can you try this please? You will need to install the
    828 > 'leveldb-ruby' gem.
    829 
    830 Sorry but I am unable to install the leveldb-gem. It complains about a missing 
    831 header and I have already installed all the packages that contain that file and 
    832 still no luck:
    833 
    834 ###########################################
    835 sudo gem1.9.1 install leveldb-ruby
    836 Building native extensions.  This could take a while...
    837 ERROR:  Error installing leveldb-ruby:
    838         ERROR: Failed to build gem native extension.
    839 
    840 /usr/bin/ruby1.9.1 extconf.rb
    841 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
    842 -DUSE_SNAPPY=1 db/builder.cc -o db/builder.o
    843 In file included from ./port/port.h:14:0,
    844                  from ./db/filename.h:14,
    845                  from db/builder.cc:7:
    846 ./port/port_posix.h:14:22: fatal error: cstdatomic: ??????????????????????
    847 compilation terminated.
    848 make: *** [db/builder.o] ??? 1
    849 ##############################################
    850 
    851 The error message says that the cstdatomic file does not exists. I installed 
    852 the  libstdc++6-4.4-dev package that has the file in 
    853 (/usr/include/c++/4.4/cstdatomic) but the build system fails to find it.
    854 
    855 -- 
    856 regards,                                                                                                                                                                                                       
    857 Horacio Sanson
    858 
    859 From wmorgan-sup@masanjin.net  Sun Jun 19 14:30:22 2011
    860 From: wmorgan-sup@masanjin.net (William Morgan)
    861 Date: Sun, 19 Jun 2011 18:30:22 +0000
    862 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
    863 In-Reply-To: <201106192225.34516.hsanson@gmail.com>
    864 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    865 	<1308150597-sup-6406@masanjin.net>
    866 	<1308373312-sup-3728@masanjin.net>
    867 	<201106192225.34516.hsanson@gmail.com>
    868 Message-ID: <1308508184-sup-6792@masanjin.net>
    869 
    870 Reformatted excerpts from Horacio Sanson's message of 2011-06-19:
    871 > ./port/port_posix.h:14:22: fatal error: cstdatomic: ??????????????????????
    872 
    873 What is the output of g++ --version on your system, please?
    874 -- 
    875 William <wmorgan-sup at masanjin.net>
    876 
    877 From vivien.didelot@gmail.com  Sun Jun 19 16:44:09 2011
    878 From: vivien.didelot@gmail.com (Vivien Didelot)
    879 Date: Sun, 19 Jun 2011 16:44:09 -0400
    880 Subject: [sup-devel] Turn Turnsole into a generic mail client
    881 Message-ID: <BANLkTiniXpQtS_YG5Fhmr4rqFKW7=tGHWw@mail.gmail.com>
    882 
    883 Hi William and others,
    884 
    885 As Turnsole is a great mail interface, I was thinking about having it
    886 generic to multiple servers or mail sources, to fit many use cases.
    887 
    888 Explicitely, the Turnsole::Client class (
    889 https://github.com/wmorgan/turnsole/blob/master/lib/turnsole/client.rb)
    890 could be turned into a Turnsole::Client module instead,
    891 which implements the necessary abstract methods for the interface, and which
    892 needs to be included in every client adapters (like DataMapper adapters are
    893 working for instance).
    894 Built-in Turnsole adapters would be in lib/turnsole/client/. That way, we
    895 could easily implement Turnsole adapters for many sources, such as:
    896 Heliotrope (for sure, the official adapter),
    897 IMAP (direct connection),
    898 Gmail (simpler adapter using the IMAP adapter),
    899 Maildir/Mbox,
    900 NotMuchMail (which is a great Sup-like email back-end),
    901 upasfs,
    902 etc.
    903 
    904 The main reason why I'm posting that, is that I really like the Turnsole
    905 ncurses based interface,
    906 but sometimes I'd like to check emails directly from imap (when not on my
    907 computer for instance).
    908 I also know that NotMuch is missing a good ncurses-based client (that's why
    909 I've Cc'd them).
    910 
    911 What do you think? Is there limitations I didn't think about?
    912 
    913 -- 
    914 Vivien Didelot,
    915 vivien.didelot.org
    916 -------------- next part --------------
    917 An HTML attachment was scrubbed...
    918 URL: <http://rubyforge.org/pipermail/sup-devel/attachments/20110619/4c41b27c/attachment.html>
    919 
    920 From dmishd@gmail.com  Sun Jun 19 17:48:40 2011
    921 From: dmishd@gmail.com (Hamish)
    922 Date: Sun, 19 Jun 2011 22:48:40 +0100
    923 Subject: [sup-devel] [PATCHES] Add an account selector in edit-mode
    924 In-Reply-To: <1306775826-sup-4909@whisper>
    925 References: <1300032642-sup-9716@mailer> <1306775826-sup-4909@whisper>
    926 Message-ID: <1308520036-sup-7949@whisper>
    927 
    928 Excerpts from Hamish's message of Mon May 30 18:23:10 +0100 2011:
    929 > Excerpts from Damien Leone's message of Sun Mar 13 16:13:05 +0000 2011:
    930 > > 0002-edit-message-mode-Add-an-optional-account-selector.patch
    931 > 
    932 > I imagine though that you would want to handle all the possible email
    933 > addresses, so I've written an extra patch to do that, and pushed your
    934 > patch and mine onto the (new) account_selector branch on gitorious.
    935 > Please have a look and see if what I've done still works for you, and is
    936 > what you meant.
    937 > 
    938 > I also wondered whether to change the behaviour so that the account
    939 > selector will only appear if there is more than one possible email
    940 > address to choose from, but I thought it would be handy to be able to
    941 > reset the From: header to your usual From: using the selector, rather
    942 > than having to hand edit whatever was in the To: header that you are
    943 > replying to. What do you think?
    944 > 
    945 > I'll wait for you to review my changes before I merge this into next.
    946 > (My changes are in commit bf56b543cc664c40c3695e287ee8e7e924f2d0d1)
    947 
    948 I've not heard anything for a bit, so I've pushed this into next for
    949 wider testing, with the guard so that the account selector will only
    950 appear if you have more than one email address. Shout out if it causes
    951 any problems.
    952 
    953 Hamish
    954 
    955 From wmorgan-sup@masanjin.net  Sun Jun 19 17:59:02 2011
    956 From: wmorgan-sup@masanjin.net (William Morgan)
    957 Date: Sun, 19 Jun 2011 21:59:02 +0000
    958 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
    959 In-Reply-To: <1308508184-sup-6792@masanjin.net>
    960 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
    961 	<1308150597-sup-6406@masanjin.net>
    962 	<1308373312-sup-3728@masanjin.net>
    963 	<201106192225.34516.hsanson@gmail.com>
    964 	<1308508184-sup-6792@masanjin.net>
    965 Message-ID: <1308520727-sup-5380@masanjin.net>
    966 
    967 Reformatted excerpts from William Morgan's message of 2011-06-19:
    968 > Reformatted excerpts from Horacio Sanson's message of 2011-06-19:
    969 > > ./port/port_posix.h:14:22: fatal error: cstdatomic: ??????????????????????
    970 > 
    971 > What is the output of g++ --version on your system, please?
    972 
    973 Try version 0.4. I believe it should work for oyu.
    974 -- 
    975 William <wmorgan-sup at masanjin.net>
    976 
    977 From wmorgan-sup@masanjin.net  Sun Jun 19 18:01:55 2011
    978 From: wmorgan-sup@masanjin.net (William Morgan)
    979 Date: Sun, 19 Jun 2011 22:01:55 +0000
    980 Subject: [sup-devel] Turn Turnsole into a generic mail client
    981 In-Reply-To: <BANLkTiniXpQtS_YG5Fhmr4rqFKW7=tGHWw@mail.gmail.com>
    982 References: <BANLkTiniXpQtS_YG5Fhmr4rqFKW7=tGHWw@mail.gmail.com>
    983 Message-ID: <1308520505-sup-4762@masanjin.net>
    984 
    985 Hi Vivien,
    986 
    987 Reformatted excerpts from Vivien Didelot's message of 2011-06-19:
    988 > As Turnsole is a great mail interface, I was thinking about having it
    989 > generic to multiple servers or mail sources, to fit many use cases.
    990 > 
    991 > Explicitely, the Turnsole::Client class (
    992 > https://github.com/wmorgan/turnsole/blob/master/lib/turnsole/client.rb)
    993 > could be turned into a Turnsole::Client module instead,
    994 
    995 The server portion of turnsole, heliotrope, is explicitly designed to
    996 support multiple clients and provides a JSON-over-HTTP interface for
    997 that purpose.
    998 
    999 The specifics of the protocol are still subject to change, but see e.g.
   1000 https://github.com/wmorgan/heliotrope/blob/master/lib/heliotrope-client.rb
   1001 for the ruby client that turnsole uses to communicate with the server.
   1002 -- 
   1003 William <wmorgan-sup at masanjin.net>
   1004 
   1005 From hsanson@gmail.com  Sun Jun 19 18:48:38 2011
   1006 From: hsanson@gmail.com (Horacio Sanson)
   1007 Date: Mon, 20 Jun 2011 07:48:38 +0900
   1008 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1009 In-Reply-To: <1308520727-sup-5380@masanjin.net>
   1010 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1011 	<1308508184-sup-6792@masanjin.net>
   1012 	<1308520727-sup-5380@masanjin.net>
   1013 Message-ID: <201106200748.38303.hsanson@gmail.com>
   1014 
   1015 This morning I tried with g++-4.4 and got a different error. When I return from 
   1016 work I will look into it. In the meantime this is the error:
   1017 
   1018 rm -f libleveldb.a
   1019 ar -rs libleveldb.a ./db/builder.o ./db/db_impl.o ./db/db_iter.o 
   1020 ./db/filename.o ./db/dbformat.o ./db/log_reader.o ./db/log_writer.o 
   1021 ./db/memtable.o ./db/repair.o ./db/table_cache.o ./db/version_edit.o 
   1022 ./db/version_set.o ./db/write_batch.o ./port/port_posix.o ./table/block.o 
   1023 ./table/block_builder.o ./table/format.o ./table/iterator.o ./table/merger.o 
   1024 ./table/table.o ./table/table_builder.o ./table/two_level_iterator.o 
   1025 ./util/arena.o ./util/cache.o ./util/coding.o ./util/comparator.o 
   1026 ./util/crc32c.o ./util/env.o ./util/env_posix.o ./util/hash.o 
   1027 ./util/histogram.o ./util/logging.o ./util/options.o ./util/status.o
   1028 ar: creating libleveldb.a
   1029 creating Makefile
   1030 
   1031 make
   1032 g++ -I. -I/usr/lib/ruby/1.8/x86_64-linux -I/usr/lib/ruby/1.8/x86_64-linux -I.   
   1033 -fPIC -fno-strict-aliasing -g -g -O2  -fPIC  -I../../leveldb/include   -c 
   1034 leveldb.cc
   1035 gcc -shared -o leveldb.so leveldb.o -L. -L/usr/lib -L. -Wl,-Bsymbolic-
   1036 functions -rdynamic -Wl,-export-dynamic    -lruby1.8  -lpthread -lrt -ldl -
   1037 lcrypt -lm   -lc -L../../leveldb -lleveldb
   1038 /usr/bin/ld: ../../leveldb/libleveldb.a(db_impl.o): relocation R_X86_64_32S 
   1039 against `vtable for leveldb::DBImpl::RecoverLogFile(unsigned long, 
   1040 leveldb::VersionEdit*, unsigned long*)::LogReporter' can not be used when 
   1041 making a shared object; recompile with -fPIC
   1042 ../../leveldb/libleveldb.a: could not read symbols: Bad value
   1043 collect2: ld returned 1 exit status
   1044 make: *** [leveldb.so] ??? 1
   1045 
   1046 
   1047 
   1048 This is my g++:
   1049 
   1050 g++ --version
   1051 g++ (Ubuntu/Linaro 4.4.5-15ubuntu1) 4.4.5
   1052 Copyright (C) 2010 Free Software Foundation, Inc.
   1053 This is free software; see the source for copying conditions.  There is NO
   1054 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
   1055 
   1056 
   1057 On Monday 20 June 2011 06:59:02 William Morgan wrote:
   1058 > Reformatted excerpts from William Morgan's message of 2011-06-19:
   1059 > > Reformatted excerpts from Horacio Sanson's message of 2011-06-19:
   1060 > > > ./port/port_posix.h:14:22: fatal error: cstdatomic:
   1061 > > > ??????????????????????
   1062 > > 
   1063 > > What is the output of g++ --version on your system, please?
   1064 > 
   1065 > Try version 0.4. I believe it should work for oyu.
   1066 
   1067 -- 
   1068 regards,                                                                                                                                                                                                       
   1069 Horacio Sanson
   1070 
   1071 From dmishd@gmail.com  Sun Jun 19 19:39:24 2011
   1072 From: dmishd@gmail.com (Hamish Downer)
   1073 Date: Mon, 20 Jun 2011 00:39:24 +0100
   1074 Subject: [sup-devel] Mail-to-self does not end up in inbox
   1075 Message-ID: <1308526747-sup-5729@whisper>
   1076 
   1077 Excerpts from Amadeusz ?o?nowski's message of Mon Mar 07 08:27:56 +0000 2011:
   1078 > Excerpts from Ico Doornekamp's message of Sun Mar 06 18:34:56 +0000 2011:
   1079 > > Back in the old days when using mutt, I regularly used to send mails to
   1080 > > myself as reminders or short notes. Sup however shows intelligent
   1081 > > behaviour, recognizes the message is both sent and received, and
   1082 > > attaches a 'sent' label to it, and thus the mail does not show up in the
   1083 > > inbox.
   1084 > 
   1085 > Why not have requested behaviour (sent mail in inbox) and hook for
   1086 > archiving?  E.g. I am usually modyfing labels on sent mail.  And it's
   1087 > easier to archive sent mail than unarchive it.
   1088 
   1089 I've thought about this more and added an option ":archive_sent" to
   1090 allow this. The default value is "true", so sent mail will continue to
   1091 be archived if you do nothing. Change it to false if you want to have
   1092 sent mail show up in your inbox.
   1093 
   1094 This is in the archive_sent branch and has been merged into next.
   1095 
   1096 I may at some point have a go at making it possible to edit labels while
   1097 composing messages, but that may be overly complex ...
   1098 
   1099 And as a side note, I've looked through the history and it looks like
   1100 the sent source has always been set up to archive the mail, but maybe a
   1101 bug elsewhere in the code "fixed" it so that the sent mail really was
   1102 archived.
   1103 
   1104 Hamish
   1105 
   1106 From wmorgan-sup@masanjin.net  Sun Jun 19 23:54:22 2011
   1107 From: wmorgan-sup@masanjin.net (William Morgan)
   1108 Date: Mon, 20 Jun 2011 03:54:22 +0000
   1109 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1110 In-Reply-To: <201106200748.38303.hsanson@gmail.com>
   1111 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1112 	<1308508184-sup-6792@masanjin.net>
   1113 	<1308520727-sup-5380@masanjin.net>
   1114 	<201106200748.38303.hsanson@gmail.com>
   1115 Message-ID: <1308541982-sup-2095@masanjin.net>
   1116 
   1117 Reformatted excerpts from Horacio Sanson's message of 2011-06-19:
   1118 > This morning I tried with g++-4.4 and got a different error. When I
   1119 > return from work I will look into it. In the meantime this is the
   1120 > error:
   1121 
   1122 Hm. Try with 0.4. If that doesn't work then I can try modifying the
   1123 original leveldb Makefile to use -fPIC. I didn't think it would be
   1124 necessary, but you apparently have some funny computer that is breaking
   1125 all my assumptions.
   1126 -- 
   1127 William <wmorgan-sup at masanjin.net>
   1128 
   1129 From hsanson@gmail.com  Mon Jun 20 01:23:26 2011
   1130 From: hsanson@gmail.com (Horacio Sanson)
   1131 Date: Mon, 20 Jun 2011 14:23:26 +0900
   1132 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1133 In-Reply-To: <1308541982-sup-2095@masanjin.net>
   1134 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1135 	<201106200748.38303.hsanson@gmail.com>
   1136 	<1308541982-sup-2095@masanjin.net>
   1137 Message-ID: <201106201423.26629.hsanson@gmail.com>
   1138 
   1139 On Monday 20 June 2011 12:54:22 William Morgan wrote:
   1140 > Reformatted excerpts from Horacio Sanson's message of 2011-06-19:
   1141 > > This morning I tried with g++-4.4 and got a different error. When I
   1142 > > return from work I will look into it. In the meantime this is the
   1143 > 
   1144 > > error:
   1145 > Hm. Try with 0.4. If that doesn't work then I can try modifying the
   1146 > original leveldb Makefile to use -fPIC. I didn't think it would be
   1147 > necessary, but you apparently have some funny computer that is breaking
   1148 > all my assumptions.
   1149 
   1150 When you say try 0.4 you mean leveldb-ruby version 0.4 right?, because I 
   1151 downloaded the source from github and the latest version I get is 0.3. Also 
   1152 rubygems only has version 0.3.
   1153 
   1154 https://github.com/wmorgan/leveldb-ruby
   1155 http://rubygems.org/gems/leveldb-ruby
   1156 
   1157 -- 
   1158 regards,                                                                                                                                                                                                       
   1159 Horacio Sanson
   1160 
   1161 From damien.leone@fensalir.fr  Mon Jun 20 04:08:39 2011
   1162 From: damien.leone@fensalir.fr (Damien Leone)
   1163 Date: Mon, 20 Jun 2011 10:08:39 +0200
   1164 Subject: [sup-devel] [PATCHES] Add an account selector in edit-mode
   1165 In-Reply-To: <1308520036-sup-7949@whisper>
   1166 References: <1300032642-sup-9716@mailer> <1306775826-sup-4909@whisper>
   1167 	<1308520036-sup-7949@whisper>
   1168 Message-ID: <1308557136-sup-5866@mailer>
   1169 
   1170 Hello,
   1171 
   1172 Sorry I have been quite busy finishing my degree last weeks. I planned
   1173 to review and answer but it got delayed and delayed.
   1174 
   1175 Thanks for pushing and fixing the issue with alternate addresses. I
   1176 will fetch it and let you know.
   1177 
   1178 Excerpts from Hamish's message of dim. juin 19 23:48:40 +0200 2011:
   1179 > Excerpts from Hamish's message of Mon May 30 18:23:10 +0100 2011:
   1180 > > Excerpts from Damien Leone's message of Sun Mar 13 16:13:05 +0000 2011:
   1181 > > > 0002-edit-message-mode-Add-an-optional-account-selector.patch
   1182 > > 
   1183 > > I imagine though that you would want to handle all the possible email
   1184 > > addresses, so I've written an extra patch to do that, and pushed your
   1185 > > patch and mine onto the (new) account_selector branch on gitorious.
   1186 > > Please have a look and see if what I've done still works for you, and is
   1187 > > what you meant.
   1188 > > 
   1189 > > I also wondered whether to change the behaviour so that the account
   1190 > > selector will only appear if there is more than one possible email
   1191 > > address to choose from, but I thought it would be handy to be able to
   1192 > > reset the From: header to your usual From: using the selector, rather
   1193 > > than having to hand edit whatever was in the To: header that you are
   1194 > > replying to. What do you think?
   1195 > > 
   1196 > > I'll wait for you to review my changes before I merge this into next.
   1197 > > (My changes are in commit bf56b543cc664c40c3695e287ee8e7e924f2d0d1)
   1198 > 
   1199 > I've not heard anything for a bit, so I've pushed this into next for
   1200 > wider testing, with the guard so that the account selector will only
   1201 > appear if you have more than one email address. Shout out if it causes
   1202 > any problems.
   1203 > 
   1204 > Hamish
   1205 
   1206 -- 
   1207 Damien Leone <damien.leone at fensalir.fr>
   1208 
   1209 GPG: 0x82EB4DDF
   1210 
   1211 From sascha-ml-reply-to-2011-3@silbe.org  Mon Jun 20 09:47:57 2011
   1212 From: sascha-ml-reply-to-2011-3@silbe.org (Sascha Silbe)
   1213 Date: Mon, 20 Jun 2011 15:47:57 +0200
   1214 Subject: [sup-devel] [PATCHES] Add an account selector in edit-mode
   1215 In-Reply-To: <1308520036-sup-7949@whisper>
   1216 References: <1300032642-sup-9716@mailer> <1306775826-sup-4909@whisper>
   1217 	<1308520036-sup-7949@whisper>
   1218 Message-ID: <1308577441-sup-8658@xo15-sascha.sascha.silbe.org>
   1219 
   1220 Excerpts from Hamish's message of Sun Jun 19 23:48:40 +0200 2011:
   1221 
   1222 > I've not heard anything for a bit, so I've pushed this into next for
   1223 > wider testing, with the guard so that the account selector will only
   1224 > appear if you have more than one email address. Shout out if it causes
   1225 > any problems.
   1226 
   1227 This breaks the "Reply to" selector for me. Any attempt to change the
   1228 value results in an exception:
   1229 
   1230 --- TypeError from thread: main
   1231 no implicit conversion from nil to integer
   1232 ./lib/sup/horizontal-selector.rb:18:in `[]'
   1233 ./lib/sup/horizontal-selector.rb:18:in `val'
   1234 ./lib/sup/modes/edit-message-mode.rb:374:in `update'
   1235 ./lib/sup/modes/edit-message-mode.rb:351:in `move_cursor_left'
   1236 ./lib/sup/modes/reply-mode.rb:174:in `move_cursor_left'
   1237 ./lib/sup/mode.rb:59:in `send'
   1238 ./lib/sup/mode.rb:59:in `handle_input'
   1239 ./lib/sup/buffer.rb:278:in `handle_input'
   1240 bin/sup:271
   1241 
   1242 
   1243 Reverting the account selector patches makes it work again.
   1244 
   1245 This is the code in edit-message-mode.rb:
   1246 
   1247 372  def update
   1248 373    if @account_selector
   1249 374      if @account_selector.val.nil?
   1250 375        @header["From"] = @account_user
   1251 376      else
   1252 377        @header["From"] = AccountManager.full_address_for @account_selector.val
   1253 378      end
   1254 379    end
   1255 
   1256 And horizontal-selector.rb:
   1257 
   1258 18   def val; @vals[@selection] end
   1259 
   1260 So account_selector.selection is nil. The only way for that to happen is
   1261 by calling account_selector.set_to() with a value that's not in
   1262 account_selector.vals (IMO HorizontalSelector should throw an exception
   1263 in that case, BTW). Any idea where and why that would have happened?
   1264 
   1265 Sascha
   1266 
   1267 -- 
   1268 http://sascha.silbe.org/
   1269 http://www.infra-silbe.de/
   1270 -------------- next part --------------
   1271 A non-text attachment was scrubbed...
   1272 Name: signature.asc
   1273 Type: application/pgp-signature
   1274 Size: 494 bytes
   1275 Desc: not available
   1276 URL: <http://rubyforge.org/pipermail/sup-devel/attachments/20110620/f069c692/attachment.bin>
   1277 
   1278 From wmorgan-sup@masanjin.net  Mon Jun 20 12:42:24 2011
   1279 From: wmorgan-sup@masanjin.net (William Morgan)
   1280 Date: Mon, 20 Jun 2011 16:42:24 +0000
   1281 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1282 In-Reply-To: <201106201423.26629.hsanson@gmail.com>
   1283 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1284 	<201106200748.38303.hsanson@gmail.com>
   1285 	<1308541982-sup-2095@masanjin.net>
   1286 	<201106201423.26629.hsanson@gmail.com>
   1287 Message-ID: <1308588065-sup-5212@masanjin.net>
   1288 
   1289 Reformatted excerpts from Horacio Sanson's message of 2011-06-20:
   1290 > When you say try 0.4 you mean leveldb-ruby version 0.4 right?, because
   1291 > I downloaded the source from github and the latest version I get is
   1292 > 0.3. Also rubygems only has version 0.3.
   1293 
   1294 Whoops, forgot to upload it. Try now. (0.4 should have the fix for
   1295 cstdatomic issue, but nothing with -fPIC.)
   1296 -- 
   1297 William <wmorgan-sup at masanjin.net>
   1298 
   1299 From dmishd@gmail.com  Mon Jun 20 17:38:21 2011
   1300 From: dmishd@gmail.com (Hamish Downer)
   1301 Date: Mon, 20 Jun 2011 22:38:21 +0100
   1302 Subject: [sup-devel] [PATCHES] Add an account selector in edit-mode
   1303 In-Reply-To: <1308577441-sup-8658@xo15-sascha.sascha.silbe.org>
   1304 References: <1300032642-sup-9716@mailer> <1306775826-sup-4909@whisper>
   1305 	<1308520036-sup-7949@whisper>
   1306 	<1308577441-sup-8658@xo15-sascha.sascha.silbe.org>
   1307 Message-ID: <1308605576-sup-2122@whisper>
   1308 
   1309 Excerpts from Sascha Silbe's message of Mon Jun 20 14:47:57 +0100 2011:
   1310 > This breaks the "Reply to" selector for me. Any attempt to change the
   1311 > value results in an exception:
   1312 > 
   1313 > So account_selector.selection is nil. The only way for that to happen is
   1314 > by calling account_selector.set_to() with a value that's not in
   1315 > account_selector.vals (IMO HorizontalSelector should throw an exception
   1316 > in that case, BTW). Any idea where and why that would have happened?
   1317 
   1318 I'm afraid I couldn't reproduce your exception - do you have several
   1319 accounts? Multiple email addresses per account?
   1320 
   1321 Anyway I've pushed an update to the account_selector branch (commit
   1322 5bb55890) that you could try out. The basic change is that in the
   1323 original patch, there was:
   1324 
   1325     @account_selector =
   1326       HorizontalSelector.new "Account:", AccountManager.user_accounts + [nil], user_emails_copy + ["Customized"]
   1327 
   1328 Note the [nil] added to the end of the first array. I've changed that to
   1329 [:user] (in line with the replyto selector) and made the other changes
   1330 in the file to stay in line with that. As I say I can't reproduce your
   1331 problem, so I'm not 100% sure I've solved it, so let me know how you get
   1332 on. If it fixes it for you I'll put the patch onto next aswell.
   1333 
   1334 Hamish Downer
   1335 
   1336 From dmishd@gmail.com  Mon Jun 20 17:55:59 2011
   1337 From: dmishd@gmail.com (Hamish Downer)
   1338 Date: Mon, 20 Jun 2011 22:55:59 +0100
   1339 Subject: [sup-devel] Another UTF-8 exception: edit-message-mode.rb
   1340 In-Reply-To: <1306828491-sup-5835@qwerzila>
   1341 References: <1306828491-sup-5835@qwerzila>
   1342 Message-ID: <1308606546-sup-9510@whisper>
   1343 
   1344 Excerpts from Gaute Hope's message of Tue May 31 08:57:39 +0100 2011:
   1345 > ran into another UTF-8 exception in edit-message-mode, I don't know
   1346 > exactly what is causing it - but could be UTF-8 chars in some of the
   1347 > keywords that are sanitized.
   1348 > 
   1349 > And a patch:
   1350 > 0001-Fix-UTF-8-exception-in-santizing-body.patch
   1351 
   1352 OK, I've had a look at this. From the patch:
   1353 
   1354    def sanitize_body body
   1355 +    body.force_encoding 'UTF-8' if body.methods.include?(:encoding)
   1356      body.gsub(/^From /, ">From ")
   1357    end
   1358  
   1359 I'm not convinced that force_encoding is the best thing to use here. I
   1360 would expect it to be better to use encode! in most cases.
   1361 force_encoding does not change the string at all, only the encoding,
   1362 while encode! will change the string to a new string that may have
   1363 different underlying bytes.
   1364 
   1365 Instead of the above patch could you try:
   1366 
   1367    def sanitize_body body
   1368 +    body.encode! 'UTF-8' if body.methods.include?(:encoding)
   1369      body.gsub(/^From /, ">From ")
   1370    end
   1371 
   1372 and see if that also fixes your bug?
   1373 
   1374 Hamish Downer
   1375 
   1376 From hsanson@gmail.com  Mon Jun 20 18:26:18 2011
   1377 From: hsanson@gmail.com (Horacio Sanson)
   1378 Date: Tue, 21 Jun 2011 07:26:18 +0900
   1379 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1380 In-Reply-To: <1308588065-sup-5212@masanjin.net>
   1381 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1382 	<201106201423.26629.hsanson@gmail.com>
   1383 	<1308588065-sup-5212@masanjin.net>
   1384 Message-ID: <201106210726.19004.hsanson@gmail.com>
   1385 
   1386 On Tuesday 21 June 2011 01:42:24 William Morgan wrote:
   1387 > Reformatted excerpts from Horacio Sanson's message of 2011-06-20:
   1388 > > When you say try 0.4 you mean leveldb-ruby version 0.4 right?, because
   1389 > > I downloaded the source from github and the latest version I get is
   1390 > > 0.3. Also rubygems only has version 0.3.
   1391 > 
   1392 > Whoops, forgot to upload it. Try now. (0.4 should have the fix for
   1393 > cstdatomic issue, but nothing with -fPIC.)
   1394 
   1395 Indeed it fixed the cstdatomic issue but not the linking one:
   1396 
   1397 ####################################
   1398 sudo gem1.9.1 install leveldb-ruby
   1399 Building native extensions.  This could take a while...
   1400 ERROR:  Error installing leveldb-ruby:
   1401         ERROR: Failed to build gem native extension.
   1402 
   1403 /usr/bin/ruby1.9.1 extconf.rb
   1404 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1405 -DUSE_SNAPPY=1 db/builder.cc -o db/builder.o
   1406 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1407 -DUSE_SNAPPY=1 db/db_impl.cc -o db/db_impl.o
   1408 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1409 -DUSE_SNAPPY=1 db/db_iter.cc -o db/db_iter.o
   1410 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1411 -DUSE_SNAPPY=1 db/filename.cc -o db/filename.o
   1412 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1413 -DUSE_SNAPPY=1 db/dbformat.cc -o db/dbformat.o
   1414 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1415 -DUSE_SNAPPY=1 db/log_reader.cc -o db/log_reader.o
   1416 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1417 -DUSE_SNAPPY=1 db/log_writer.cc -o db/log_writer.o
   1418 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1419 -DUSE_SNAPPY=1 db/memtable.cc -o db/memtable.o
   1420 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1421 -DUSE_SNAPPY=1 db/repair.cc -o db/repair.o
   1422 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1423 -DUSE_SNAPPY=1 db/table_cache.cc -o db/table_cache.o
   1424 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1425 -DUSE_SNAPPY=1 db/version_edit.cc -o db/version_edit.o
   1426 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1427 -DUSE_SNAPPY=1 db/version_set.cc -o db/version_set.o
   1428 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1429 -DUSE_SNAPPY=1 db/write_batch.cc -o db/write_batch.o
   1430 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1431 -DUSE_SNAPPY=1 port/port_posix.cc -o port/port_posix.o
   1432 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1433 -DUSE_SNAPPY=1 table/block.cc -o table/block.o
   1434 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1435 -DUSE_SNAPPY=1 table/block_builder.cc -o table/block_builder.o
   1436 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1437 -DUSE_SNAPPY=1 table/format.cc -o table/format.o
   1438 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1439 -DUSE_SNAPPY=1 table/iterator.cc -o table/iterator.o
   1440 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1441 -DUSE_SNAPPY=1 table/merger.cc -o table/merger.o
   1442 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1443 -DUSE_SNAPPY=1 table/table.cc -o table/table.o
   1444 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1445 -DUSE_SNAPPY=1 table/table_builder.cc -o table/table_builder.o
   1446 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1447 -DUSE_SNAPPY=1 table/two_level_iterator.cc -o table/two_level_iterator.o
   1448 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1449 -DUSE_SNAPPY=1 util/arena.cc -o util/arena.o
   1450 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1451 -DUSE_SNAPPY=1 util/cache.cc -o util/cache.o
   1452 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1453 -DUSE_SNAPPY=1 util/coding.cc -o util/coding.o
   1454 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1455 -DUSE_SNAPPY=1 util/comparator.cc -o util/comparator.o
   1456 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1457 -DUSE_SNAPPY=1 util/crc32c.cc -o util/crc32c.o
   1458 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1459 -DUSE_SNAPPY=1 util/env.cc -o util/env.o
   1460 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1461 -DUSE_SNAPPY=1 util/env_posix.cc -o util/env_posix.o
   1462 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1463 -DUSE_SNAPPY=1 util/hash.cc -o util/hash.o
   1464 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1465 -DUSE_SNAPPY=1 util/histogram.cc -o util/histogram.o
   1466 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1467 -DUSE_SNAPPY=1 util/logging.cc -o util/logging.o
   1468 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1469 -DUSE_SNAPPY=1 util/options.cc -o util/options.o
   1470 g++ -c -I. -I./include -DLEVELDB_PLATFORM_POSIX -std=c++0x -O2 -DNDEBUG        
   1471 -DUSE_SNAPPY=1 util/status.cc -o util/status.o
   1472 rm -f libleveldb.a
   1473 ar -rs libleveldb.a ./db/builder.o ./db/db_impl.o ./db/db_iter.o 
   1474 ./db/filename.o ./db/dbformat.o ./db/log_reader.o ./db/log_writer.o 
   1475 ./db/memtable.o ./db/repair.o ./db/table_cache.o ./db/version_edit.o 
   1476 ./db/version_set.o ./db/write_batch.o ./port/port_posix.o ./table/block.o 
   1477 ./table/block_builder.o ./table/format.o ./table/iterator.o ./table/merger.o 
   1478 ./table/table.o ./table/table_builder.o ./table/two_level_iterator.o 
   1479 ./util/arena.o ./util/cache.o ./util/coding.o ./util/comparator.o 
   1480 ./util/crc32c.o ./util/env.o ./util/env_posix.o ./util/hash.o 
   1481 ./util/histogram.o ./util/logging.o ./util/options.o ./util/status.o
   1482 ar: creating libleveldb.a
   1483 creating Makefile
   1484 
   1485 make
   1486 g++ -I. -I/usr/include/ruby-1.9.1/x86_64-linux -
   1487 I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I.   -fPIC -
   1488 fno-strict-aliasing -g -g -O2 -fPIC -I../../leveldb/include  -fno-strict-
   1489 aliasing -g -o leveldb.o -c leveldb.cc
   1490 g++ -shared -o leveldb.so leveldb.o -L. -L/usr/lib -L.  -rdynamic -Wl,-export-
   1491 dynamic   -lruby-1.9.1  -lpthread -lrt -ldl -lcrypt -lm   -lc -L../../leveldb 
   1492 -lleveldb
   1493 /usr/bin/ld: ../../leveldb/libleveldb.a(db_impl.o): relocation R_X86_64_32S 
   1494 against `vtable for leveldb::DB' can not be used when making a shared object; 
   1495 recompile with -fPIC
   1496 ../../leveldb/libleveldb.a: could not read symbols: Bad value
   1497 collect2: ld returned 1 exit status
   1498 make: *** [leveldb.so] ??? 1
   1499 
   1500 
   1501 Gem files will remain installed in /var/lib/gems/1.9.1/gems/leveldb-ruby-0.4 
   1502 for inspection.
   1503 Results logged to /var/lib/gems/1.9.1/gems/leveldb-
   1504 ruby-0.4/ext/leveldb/gem_make.out
   1505 ################################
   1506 
   1507 
   1508 I tried qwith both g++-4.4 and g++-4.5 that come with standard Ubuntu 11.04 
   1509 distribution.
   1510 
   1511 -- 
   1512 regards,                                                                                                                                                                                                       
   1513 Horacio Sanson
   1514 
   1515 From wmorgan-sup@masanjin.net  Mon Jun 20 18:52:05 2011
   1516 From: wmorgan-sup@masanjin.net (William Morgan)
   1517 Date: Mon, 20 Jun 2011 22:52:05 +0000
   1518 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1519 In-Reply-To: <201106210726.19004.hsanson@gmail.com>
   1520 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1521 	<201106201423.26629.hsanson@gmail.com>
   1522 	<1308588065-sup-5212@masanjin.net>
   1523 	<201106210726.19004.hsanson@gmail.com>
   1524 Message-ID: <1308610289-sup-7090@masanjin.net>
   1525 
   1526 Reformatted excerpts from Horacio Sanson's message of 2011-06-20:
   1527 > /usr/bin/ld: ../../leveldb/libleveldb.a(db_impl.o): relocation
   1528 > R_X86_64_32S against `vtable for leveldb::DB' can not be used when
   1529 > making a shared object; 
   1530 
   1531 Ok, I have a potential fix for this that I'll try and get out tonight.
   1532 -- 
   1533 William <wmorgan-sup at masanjin.net>
   1534 
   1535 From dmishd@gmail.com  Mon Jun 20 18:45:43 2011
   1536 From: dmishd@gmail.com (Hamish Downer)
   1537 Date: Mon, 20 Jun 2011 23:45:43 +0100
   1538 Subject: [sup-devel] [PATCH] Re: [sup-talk] Bug reading/writing contacts
   1539 	with \" in them
   1540 In-Reply-To: <1295892863-sup-1896@midna.zekjur.net>
   1541 References: <1295845756-sup-308@pruts.nl>
   1542 	<1295892863-sup-1896@midna.zekjur.net>
   1543 Message-ID: <1308609891-sup-2821@whisper>
   1544 
   1545 Excerpts from Michael Stapelberg's message of Mon Jan 24 18:20:13 +0000 2011:
   1546 > Excerpts from Ico's message of 2011-01-24 06:20:47 +0100:
   1547 > > The problem occurs when contacts have a certain combination of backslashes and
   1548 > > quotes in them. 
   1549 > > 
   1550 > >   somename: \"Some, Name\" <somename at somedomain.com>
   1551 > 
   1552 > Attached is a patch which fixes the issue. Input like "Rob, Post\" will first
   1553 > be turned into "Rob, Post\\" when initially escaping, but will then stay "Rob,
   1554 > Post\\" (no more exploding backslashes).
   1555 
   1556 Another patch that slipped through the net. Now applied to next.
   1557 
   1558 Hamish
   1559 
   1560 -- 
   1561 Hamish Downer <hamish at foobacca.co.uk>
   1562 
   1563 Web: http://www.foobacca.co.uk/
   1564 GPG: B7C48416
   1565 
   1566 From dmishd@gmail.com  Mon Jun 20 18:43:57 2011
   1567 From: dmishd@gmail.com (Hamish Downer)
   1568 Date: Mon, 20 Jun 2011 23:43:57 +0100
   1569 Subject: [sup-devel] Patch: Always try to canonize person name using
   1570 	ContactManager
   1571 In-Reply-To: <1295911516-sup-1253@tilus.net>
   1572 References: <1295911516-sup-1253@tilus.net>
   1573 Message-ID: <1308609737-sup-8209@whisper>
   1574 
   1575 Excerpts from Tero Tilus's message of Mon Jan 24 23:33:23 +0000 2011:
   1576 > Sup has mostly not been using the names defined in contacts.txt when
   1577 > displaying messages.  I vaguely remember seeing an issue reported on
   1578 > something similar to this.  I became annoyed enough and fixed it.
   1579 > 
   1580 > Now Person.from_address first tries to find the person using
   1581 > ContactManager (if it is instantiated) and falls back to
   1582 > Person.new(name, email).
   1583 
   1584 In my search for old patches that have never been applied I came across
   1585 this one. Now applied to next.
   1586 
   1587 Hamish
   1588 
   1589 -- 
   1590 Hamish Downer <hamish at foobacca.co.uk>
   1591 
   1592 Web: http://www.foobacca.co.uk/
   1593 GPG: B7C48416
   1594 
   1595 From dmishd@gmail.com  Mon Jun 20 19:01:03 2011
   1596 From: dmishd@gmail.com (Hamish Downer)
   1597 Date: Tue, 21 Jun 2011 00:01:03 +0100
   1598 Subject: [sup-devel] [PATCH] toggle killed status
   1599 In-Reply-To: <1303605889-sup-5283@Apollo.local>
   1600 References: <1303605889-sup-5283@Apollo.local>
   1601 Message-ID: <1308610834-sup-8989@whisper>
   1602 
   1603 Excerpts from Evan Hanson's message of Sun Apr 24 01:46:59 +0100 2011:
   1604 > Attached allows toggling 'killed' status of a thread. If there was a way to do
   1605 > this previously, please ignore.
   1606 
   1607 Found while trawling for old patches - applied to next.
   1608 
   1609 Hamish
   1610 
   1611 -- 
   1612 Hamish Downer <hamish at foobacca.co.uk>
   1613 
   1614 Web: http://www.foobacca.co.uk/
   1615 GPG: B7C48416
   1616 
   1617 From vivien.didelot@gmail.com  Tue Jun 21 13:16:45 2011
   1618 From: vivien.didelot@gmail.com (Vivien Didelot)
   1619 Date: Tue, 21 Jun 2011 13:16:45 -0400
   1620 Subject: [sup-devel] Turn Turnsole into a generic mail client
   1621 In-Reply-To: <1308520505-sup-4762@masanjin.net>
   1622 References: <BANLkTiniXpQtS_YG5Fhmr4rqFKW7=tGHWw@mail.gmail.com>
   1623 	<1308520505-sup-4762@masanjin.net>
   1624 Message-ID: <BANLkTi=iwGtH3K2AyX267ZUF=PtPQjX8ow@mail.gmail.com>
   1625 
   1626 Hi William,
   1627 
   1628 I'm not suggesting to make Heliotrope supports several clients (what it
   1629 already does via  provinding JSON),
   1630 I'm suggesting the make the Turnsole interface modulable to several mail
   1631 sources.
   1632 And its default and official one will be the Heliotrope client for sure.
   1633 
   1634 I hope it is clearer.
   1635 
   1636 On Sun, Jun 19, 2011 at 6:01 PM, William Morgan <wmorgan-sup at masanjin.net>wrote:
   1637 
   1638 > Hi Vivien,
   1639 >
   1640 > Reformatted excerpts from Vivien Didelot's message of 2011-06-19:
   1641 > > As Turnsole is a great mail interface, I was thinking about having it
   1642 > > generic to multiple servers or mail sources, to fit many use cases.
   1643 > >
   1644 > > Explicitely, the Turnsole::Client class (
   1645 > > https://github.com/wmorgan/turnsole/blob/master/lib/turnsole/client.rb)
   1646 > > could be turned into a Turnsole::Client module instead,
   1647 >
   1648 > The server portion of turnsole, heliotrope, is explicitly designed to
   1649 > support multiple clients and provides a JSON-over-HTTP interface for
   1650 > that purpose.
   1651 >
   1652 > The specifics of the protocol are still subject to change, but see e.g.
   1653 > https://github.com/wmorgan/heliotrope/blob/master/lib/heliotrope-client.rb
   1654 > for the ruby client that turnsole uses to communicate with the server.
   1655 > --
   1656 > William <wmorgan-sup at masanjin.net>
   1657 >
   1658 
   1659 
   1660 
   1661 -- 
   1662 Vivien Didelot,
   1663 vivien.didelot.org
   1664 -------------- next part --------------
   1665 An HTML attachment was scrubbed...
   1666 URL: <http://rubyforge.org/pipermail/sup-devel/attachments/20110621/097f71d3/attachment.html>
   1667 
   1668 From wmorgan-sup@masanjin.net  Tue Jun 21 16:33:15 2011
   1669 From: wmorgan-sup@masanjin.net (William Morgan)
   1670 Date: Tue, 21 Jun 2011 20:33:15 +0000
   1671 Subject: [sup-devel] Turn Turnsole into a generic mail client
   1672 In-Reply-To: <BANLkTi=iwGtH3K2AyX267ZUF=PtPQjX8ow@mail.gmail.com>
   1673 References: <BANLkTiniXpQtS_YG5Fhmr4rqFKW7=tGHWw@mail.gmail.com>
   1674 	<1308520505-sup-4762@masanjin.net>
   1675 	<BANLkTi=iwGtH3K2AyX267ZUF=PtPQjX8ow@mail.gmail.com>
   1676 Message-ID: <1308687110-sup-7599@masanjin.net>
   1677 
   1678 Reformatted excerpts from Vivien Didelot's message of 2011-06-21:
   1679 > I'm suggesting the make the Turnsole interface modulable to several
   1680 > mail sources.
   1681 
   1682 Oh, I see. Yes, to the extent that you can mimic what's in
   1683 Turnsole::Client, it will be possible. But that class is a pretty thin
   1684 wrapper around the Heliotrope protocol, so mimicking it will feel a lot
   1685 like writing a Heliotrope compatibility layer.
   1686 
   1687 I'm not personally interested in doing this, since Heliotrope is the One
   1688 True Mailstore as far as I'm concerned, but I'll try to be helpful if
   1689 you attempt it.
   1690 -- 
   1691 William <wmorgan-sup at masanjin.net>
   1692 
   1693 From wmorgan-sup@masanjin.net  Tue Jun 21 23:25:16 2011
   1694 From: wmorgan-sup@masanjin.net (William Morgan)
   1695 Date: Wed, 22 Jun 2011 03:25:16 +0000
   1696 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1697 In-Reply-To: <1308610289-sup-7090@masanjin.net>
   1698 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1699 	<201106201423.26629.hsanson@gmail.com>
   1700 	<1308588065-sup-5212@masanjin.net>
   1701 	<201106210726.19004.hsanson@gmail.com>
   1702 	<1308610289-sup-7090@masanjin.net>
   1703 Message-ID: <1308713034-sup-9195@masanjin.net>
   1704 
   1705 Hi Horacio,
   1706 
   1707 Reformatted excerpts from William Morgan's message of 2011-06-20:
   1708 > Ok, I have a potential fix for this that I'll try and get out tonight.
   1709 
   1710 Can you please:
   1711 
   1712 1. git clone git://github.com/wmorgan/leveldb-ruby.git
   1713 2. git checkout fpic
   1714 3. rake gem
   1715 4. gem install pkg/leveldb-ruby-0.4.gem
   1716 
   1717 And tell me if that works?
   1718 
   1719 If so, I will release that as 0.5.
   1720 
   1721 Thanks!
   1722 -- 
   1723 William <wmorgan-sup at masanjin.net>
   1724 
   1725 From hsanson@gmail.com  Wed Jun 22 08:38:50 2011
   1726 From: hsanson@gmail.com (Horacio Sanson)
   1727 Date: Wed, 22 Jun 2011 21:38:50 +0900
   1728 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1729 In-Reply-To: <1308713034-sup-9195@masanjin.net>
   1730 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1731 	<1308610289-sup-7090@masanjin.net>
   1732 	<1308713034-sup-9195@masanjin.net>
   1733 Message-ID: <201106222138.51097.hsanson@gmail.com>
   1734 
   1735 On Wednesday 22 June 2011 12:25:16 William Morgan wrote:
   1736 > Hi Horacio,
   1737 > 
   1738 > Reformatted excerpts from William Morgan's message of 2011-06-20:
   1739 > > Ok, I have a potential fix for this that I'll try and get out tonight.
   1740 > 
   1741 > Can you please:
   1742 > 
   1743 > 1. git clone git://github.com/wmorgan/leveldb-ruby.git
   1744 > 2. git checkout fpic
   1745 > 3. rake gem
   1746 > 4. gem install pkg/leveldb-ruby-0.4.gem
   1747 > 
   1748 > And tell me if that works?
   1749 > 
   1750 It works!!
   1751 
   1752 > If so, I will release that as 0.5.
   1753 >
   1754 
   1755 I am downloading my emails again using the leveldb branch.
   1756  
   1757 > Thanks!
   1758 
   1759 Thanks to you....
   1760 
   1761 -- 
   1762 regards,                                                                                                                                                                                                       
   1763 Horacio Sanson
   1764 
   1765 From wmorgan-sup@masanjin.net  Wed Jun 22 14:06:44 2011
   1766 From: wmorgan-sup@masanjin.net (William Morgan)
   1767 Date: Wed, 22 Jun 2011 18:06:44 +0000
   1768 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1769 In-Reply-To: <201106222138.51097.hsanson@gmail.com>
   1770 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1771 	<1308610289-sup-7090@masanjin.net>
   1772 	<1308713034-sup-9195@masanjin.net>
   1773 	<201106222138.51097.hsanson@gmail.com>
   1774 Message-ID: <1308765957-sup-2477@masanjin.net>
   1775 
   1776 Reformatted excerpts from Horacio Sanson's message of 2011-06-22:
   1777 > It works!!
   1778 
   1779 Great. I will release that as leveldb-ruby 0.5. Hopefully the leveldb
   1780 branch of heliotrope will work for you too.
   1781 -- 
   1782 William <wmorgan-sup at masanjin.net>
   1783 
   1784 From hsanson@gmail.com  Wed Jun 22 18:41:19 2011
   1785 From: hsanson@gmail.com (Horacio Sanson)
   1786 Date: Thu, 23 Jun 2011 07:41:19 +0900
   1787 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1788 In-Reply-To: <1308713034-sup-9195@masanjin.net>
   1789 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1790 	<1308610289-sup-7090@masanjin.net>
   1791 	<1308713034-sup-9195@masanjin.net>
   1792 Message-ID: <201106230741.19602.hsanson@gmail.com>
   1793 
   1794 I left heliotrope-add running but it did not finished. I got some strange nil 
   1795 errors (see below):
   1796 
   1797 I think this error happens when find_msgids is unable to find the message's id. 
   1798 Not sure what is the best action in this case but skipping it sounds a good 
   1799 option.
   1800 ###################################################
   1801 ; requesting messages 141445..141564 from imap server
   1802 scanned 130401, indexed 130278, skipped 25 bad and 98 seen messages in 9566.0s 
   1803 = 13.6 m/s
   1804 ; requesting messages 141565..141688 from imap server
   1805 scanned 130501, indexed 130378, skipped 25 bad and 98 seen messages in 9572.0s 
   1806 = 13.6 m/s
   1807 /media/DATA/Apps/heliotrope/lib/heliotrope/message.rb:155:in `digest': can't 
   1808 convert nil into String (TypeError)
   1809         from /media/DATA/Apps/heliotrope/lib/heliotrope/message.rb:155:in 
   1810 `hexdigest'
   1811         from /media/DATA/Apps/heliotrope/lib/heliotrope/message.rb:155:in 
   1812 `munge_msgid'
   1813         from /media/DATA/Apps/heliotrope/lib/heliotrope/message.rb:20:in 
   1814 `parse!'
   1815         from bin/heliotrope-add:138:in `<main>'
   1816 ####################################################
   1817 
   1818 
   1819 This error happens when @imap.uid_fetch doesn't raise any exception and 
   1820 returns nil instead of empty array. Was thinking to check for nil and set it
   1821 to an empty array if true but it would likely result in an infinite loop.
   1822 ####################################################
   1823 ; loading mail...
   1824 ; connecting...
   1825 ; login as horacio.sanson at gmail.com ...
   1826 ; found 293004 new messages...
   1827 ; found 293004 messages to scan
   1828 ; requesting messages 283664..283763 from imap server
   1829 scanned 1, indexed 1, skipped 0 bad and 0 seen messages in 7.9s = 0.1 m/s
   1830 ; requesting messages 283764..283863 from imap server
   1831 /media/DATA/Apps/heliotrope/lib/heliotrope/gmail-dumper.rb:171:in 
   1832 `next_message': undefined method `empty?' for nil:NilClass (NoMethodError)
   1833         from bin/heliotrope-add:128:in `<main>'
   1834 #####################################################
   1835 
   1836 
   1837 Finally the leveldb branch is not working that well. After reaching 130378 
   1838 indexed messages I started the heliotrope server and the web interface only 
   1839 showed two messages. 
   1840 
   1841 I will try again without the hooks for Japanese and see how it goes.
   1842 
   1843 
   1844 On Wednesday 22 June 2011 12:25:16 William Morgan wrote:
   1845 > Hi Horacio,
   1846 > 
   1847 > Reformatted excerpts from William Morgan's message of 2011-06-20:
   1848 > > Ok, I have a potential fix for this that I'll try and get out tonight.
   1849 > 
   1850 > Can you please:
   1851 > 
   1852 > 1. git clone git://github.com/wmorgan/leveldb-ruby.git
   1853 > 2. git checkout fpic
   1854 > 3. rake gem
   1855 > 4. gem install pkg/leveldb-ruby-0.4.gem
   1856 > 
   1857 > And tell me if that works?
   1858 > 
   1859 > If so, I will release that as 0.5.
   1860 > 
   1861 > Thanks!
   1862 
   1863 -- 
   1864 regards,                                                                                                                                                                                                       
   1865 Horacio Sanson
   1866 
   1867 From wmorgan-sup@masanjin.net  Wed Jun 22 19:36:07 2011
   1868 From: wmorgan-sup@masanjin.net (William Morgan)
   1869 Date: Wed, 22 Jun 2011 23:36:07 +0000
   1870 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1871 In-Reply-To: <201106230741.19602.hsanson@gmail.com>
   1872 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1873 	<1308610289-sup-7090@masanjin.net>
   1874 	<1308713034-sup-9195@masanjin.net>
   1875 	<201106230741.19602.hsanson@gmail.com>
   1876 Message-ID: <1308785750-sup-5886@masanjin.net>
   1877 
   1878 Reformatted excerpts from Horacio Sanson's message of 2011-06-22:
   1879 > Finally the leveldb branch is not working that well. After reaching
   1880 > 130378 indexed messages I started the heliotrope server and the web
   1881 > interface only showed two messages. 
   1882 
   1883 What if you search for "*"?
   1884 -- 
   1885 William <wmorgan-sup at masanjin.net>
   1886 
   1887 From hsanson@gmail.com  Thu Jun 23 09:29:25 2011
   1888 From: hsanson@gmail.com (Horacio Sanson)
   1889 Date: Thu, 23 Jun 2011 22:29:25 +0900
   1890 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1891 In-Reply-To: <1308785750-sup-5886@masanjin.net>
   1892 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1893 	<201106230741.19602.hsanson@gmail.com>
   1894 	<1308785750-sup-5886@masanjin.net>
   1895 Message-ID: <201106232229.25944.hsanson@gmail.com>
   1896 
   1897 On Thursday 23 June 2011 08:36:07 William Morgan wrote:
   1898 > Reformatted excerpts from Horacio Sanson's message of 2011-06-22:
   1899 > > Finally the leveldb branch is not working that well. After reaching
   1900 > > 130378 indexed messages I started the heliotrope server and the web
   1901 > > interface only showed two messages.
   1902 > 
   1903 > What if you search for "*"?
   1904 
   1905 Search for "*" return zero items...
   1906 
   1907 wget http://localhost:8042/search?q=*
   1908 
   1909 search(body:"*", 0, 20) took 0.0ms
   1910 127.0.0.1 - - [23/Jun/2011 22:26:30] "GET /search?q=* HTTP/1.1" 200 813 0.0010
   1911 localhost - - [23/Jun/2011:22:26:30 JST] "GET /search?q=* HTTP/1.1" 200 813
   1912 http://localhost:8042/search?q=%7Einbox -> /search?q=*
   1913 127.0.0.1 - - [23/Jun/2011 22:26:30] "GET /favicon.ico HTTP/1.1" 404 447 
   1914 0.0006
   1915 localhost - - [23/Jun/2011:22:26:30 JST] "GET /favicon.ico HTTP/1.1" 404 447
   1916 - -> /favicon.ico
   1917 
   1918 
   1919 
   1920 
   1921 I ran the heliotrope-add with and without hooks and both resulted in no 
   1922 messages even though it reached 130378 messages indexed before crashing with a 
   1923 nil error.
   1924 
   1925 
   1926 -- 
   1927 regards,                                                                                                                                                                                                       
   1928 Horacio Sanson
   1929 
   1930 From wmorgan-sup@masanjin.net  Thu Jun 23 11:44:20 2011
   1931 From: wmorgan-sup@masanjin.net (William Morgan)
   1932 Date: Thu, 23 Jun 2011 15:44:20 +0000
   1933 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   1934 In-Reply-To: <201106232229.25944.hsanson@gmail.com>
   1935 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   1936 	<201106230741.19602.hsanson@gmail.com>
   1937 	<1308785750-sup-5886@masanjin.net>
   1938 	<201106232229.25944.hsanson@gmail.com>
   1939 Message-ID: <1308843817-sup-5307@masanjin.net>
   1940 
   1941 Reformatted excerpts from Horacio Sanson's message of 2011-06-23:
   1942 > Search for "*" return zero items...
   1943 
   1944 I forgot to add: make sure you have whistlepig 0.7 installed.
   1945 -- 
   1946 William <wmorgan-sup at masanjin.net>
   1947 
   1948 From vivien.didelot@gmail.com  Fri Jun 24 01:49:26 2011
   1949 From: vivien.didelot@gmail.com (Vivien Didelot)
   1950 Date: Fri, 24 Jun 2011 01:49:26 -0400
   1951 Subject: [sup-devel] [PATCH] update Heliotrope client requirement
   1952 Message-ID: <1308894567-7174-1-git-send-email-vivien.didelot@gmail.com>
   1953 
   1954 This patch is for the Turnsole project.
   1955 
   1956 It comes with the
   1957 0001-put-the-heliotrope-client-into-the-Heliotrope-namesp.patch
   1958 patch for Heliotrope.
   1959 
   1960 It updates the Heliotrope client requirement.
   1961 
   1962 Signed-off-by: Vivien Didelot <vivien.didelot at gmail.com>
   1963 ---
   1964  lib/turnsole/client.rb |    4 ++--
   1965  1 files changed, 2 insertions(+), 2 deletions(-)
   1966 
   1967 diff --git a/lib/turnsole/client.rb b/lib/turnsole/client.rb
   1968 index f651fe3..aaa402b 100644
   1969 --- a/lib/turnsole/client.rb
   1970 +++ b/lib/turnsole/client.rb
   1971 @@ -1,5 +1,5 @@
   1972  require 'thread'
   1973 -require 'heliotrope-client'
   1974 +require 'heliotrope/client'
   1975  
   1976  ## all the methods here are asynchronous, except for ping!
   1977  ## requests are queued and dispatched by the thread here. results are queued
   1978 @@ -10,7 +10,7 @@ class Client
   1979  
   1980    def initialize context, url
   1981      @context = context
   1982 -    @client = HeliotropeClient.new url
   1983 +    @client = Heliotrope::Client.new url
   1984      @client_mutex = Mutex.new # we sometimes access client from the main thread, for synchronous calls
   1985      @q = Queue.new
   1986    end
   1987 -- 
   1988 1.7.5.4
   1989 
   1990 
   1991 From vivien.didelot@gmail.com  Fri Jun 24 01:49:27 2011
   1992 From: vivien.didelot@gmail.com (Vivien Didelot)
   1993 Date: Fri, 24 Jun 2011 01:49:27 -0400
   1994 Subject: [sup-devel] [PATCH] put the heliotrope client into the Heliotrope
   1995 	namespace
   1996 In-Reply-To: <1308894567-7174-1-git-send-email-vivien.didelot@gmail.com>
   1997 References: <1308894567-7174-1-git-send-email-vivien.didelot@gmail.com>
   1998 Message-ID: <1308894567-7174-2-git-send-email-vivien.didelot@gmail.com>
   1999 
   2000 Hi William,
   2001 
   2002 To start working on Turnsole,I think putting heliotrope-client
   2003 under the Heliotrope namespace in a good start, to avoid
   2004 confusion.
   2005 
   2006 This first patch is for the Heliotrope project. It moves
   2007 lib/heliotrope-client.rb to lib/heliotrope/client.rb
   2008 
   2009 Another patch is sent with this email to update the Turnsole
   2010 client.
   2011 
   2012 Signed-off-by: Vivien Didelot <vivien.didelot at gmail.com>
   2013 ---
   2014  README                   |    2 +-
   2015  lib/heliotrope-client.rb |  102 ---------------------------------------------
   2016  lib/heliotrope/client.rb |  104 ++++++++++++++++++++++++++++++++++++++++++++++
   2017  lib/heliotrope/index.rb  |    2 +-
   2018  4 files changed, 106 insertions(+), 104 deletions(-)
   2019  delete mode 100644 lib/heliotrope-client.rb
   2020  create mode 100644 lib/heliotrope/client.rb
   2021 
   2022 diff --git a/README b/README
   2023 index ff82c1d..639e2c2 100644
   2024 --- a/README
   2025 +++ b/README
   2026 @@ -92,4 +92,4 @@ procmailrc or whatever.
   2027  JSON API SPEC
   2028  -------------
   2029  
   2030 -Coming soon! For now, you can reverse engineer lib/heliotrope-client.rb.
   2031 +Coming soon! For now, you can reverse engineer lib/heliotrope/client.rb.
   2032 diff --git a/lib/heliotrope-client.rb b/lib/heliotrope-client.rb
   2033 deleted file mode 100644
   2034 index 5b3a4bd..0000000
   2035 --- a/lib/heliotrope-client.rb
   2036 +++ /dev/null
   2037 @@ -1,102 +0,0 @@
   2038 -require 'rubygems'
   2039 -require 'rest_client'
   2040 -require 'json'
   2041 -
   2042 -class HeliotropeClient
   2043 -  class Error < StandardError; end
   2044 -
   2045 -  MESSAGE_MUTABLE_STATE = Set.new %w(starred unread deleted)
   2046 -  MESSAGE_IMMUTABLE_STATE = Set.new %w(attachment signed encrypted draft sent)
   2047 -  MESSAGE_STATE = MESSAGE_MUTABLE_STATE + MESSAGE_IMMUTABLE_STATE
   2048 -
   2049 -  attr_reader :url
   2050 -  def initialize url
   2051 -    @url = url
   2052 -    @resource = RestClient::Resource.new url
   2053 -  end
   2054 -
   2055 -  def search query, num=20, start=0
   2056 -    v = get_json "search", :q => query, :start => start, :num => num
   2057 -    v["results"]
   2058 -  end
   2059 -
   2060 -  def count query
   2061 -    get_json("count", :q => query)["count"]
   2062 -  end
   2063 -
   2064 -  def thread id; get_json("thread/#{id}")["messageinfos"] end
   2065 -  def threadinfo id; get_json("thread/#{id}/info") end
   2066 -
   2067 -  def message id, preferred_mime_type="text/plain"
   2068 -    get_json "message/#{id}", :mime_type_pref => preferred_mime_type
   2069 -  end
   2070 -
   2071 -  def send_message message, opts={}
   2072 -    post_json "message/send", :message => message, :labels => (opts[:labels] || []).to_json
   2073 -  end
   2074 -
   2075 -  def message_part message_id, part_id
   2076 -    ## not a json blob, but a binary region
   2077 -    @resource["message/#{message_id}/part/#{part_id}"].get
   2078 -  end
   2079 -
   2080 -  def raw_message message_id
   2081 -    ## not a json blob, but a binary region
   2082 -    @resource["message/#{message_id}/raw"].get
   2083 -  end
   2084 -
   2085 -  def labels; get_json("labels")["labels"] end
   2086 -  def info; get_json("info") end
   2087 -  def size; get_json("size")["size"] end
   2088 -
   2089 -  def prune_labels!; post_json("labels/prune")["labels"] end
   2090 -
   2091 -  def set_labels! thread_id, labels
   2092 -    post_json "thread/#{thread_id}/labels", :labels => labels.to_json
   2093 -  end
   2094 -
   2095 -  def set_state! message_id, state
   2096 -    post_json "message/#{message_id}/state", :state => state.to_json
   2097 -  end
   2098 -
   2099 -  def set_thread_state! thread_id, state
   2100 -    post_json "thread/#{thread_id}/state", :state => state.to_json
   2101 -  end
   2102 -
   2103 -private
   2104 -
   2105 -  def get_json path, params={}
   2106 -    handle_errors do
   2107 -      response = @resource[path + ".json"].get :params => params
   2108 -      response.force_encoding Encoding::UTF_8 if in_ruby19_hell?
   2109 -      JSON.parse response
   2110 -    end
   2111 -  end
   2112 -
   2113 -  def post_json path, params={ :please => "1" } # you need to have at least one param for RestClient to work... lame
   2114 -    handle_errors do
   2115 -      response = @resource[path + ".json"].post params
   2116 -      response.force_encoding Encoding::UTF_8 if in_ruby19_hell?
   2117 -      JSON.parse response
   2118 -    end
   2119 -  end
   2120 -
   2121 -  def handle_errors
   2122 -    begin
   2123 -      v = yield
   2124 -      raise Error, "invalid response: #{v.inspect[0..200]}" unless v.is_a?(Hash)
   2125 -      case v["response"]
   2126 -        when "ok"; v
   2127 -        when "error"; raise Error, v["message"]
   2128 -        else raise Error, "invalid response: #{v.inspect[0..200]}"
   2129 -      end
   2130 -    rescue SystemCallError, RestClient::Exception, JSON::ParserError => e
   2131 -      raise Error, "#{e.message} (#{e.class})"
   2132 -    end
   2133 -  end
   2134 -
   2135 -  def in_ruby19_hell?
   2136 -    @in_ruby19_hell = "".respond_to?(:encoding) if @in_ruby19_hell.nil?
   2137 -    @in_ruby19_hell
   2138 -  end
   2139 -end
   2140 diff --git a/lib/heliotrope/client.rb b/lib/heliotrope/client.rb
   2141 new file mode 100644
   2142 index 0000000..386efc9
   2143 --- /dev/null
   2144 +++ b/lib/heliotrope/client.rb
   2145 @@ -0,0 +1,104 @@
   2146 +require 'rubygems'
   2147 +require 'rest_client'
   2148 +require 'json'
   2149 +
   2150 +module Heliotrope
   2151 +class Client
   2152 +  class Error < StandardError; end
   2153 +
   2154 +  MESSAGE_MUTABLE_STATE = Set.new %w(starred unread deleted)
   2155 +  MESSAGE_IMMUTABLE_STATE = Set.new %w(attachment signed encrypted draft sent)
   2156 +  MESSAGE_STATE = MESSAGE_MUTABLE_STATE + MESSAGE_IMMUTABLE_STATE
   2157 +
   2158 +  attr_reader :url
   2159 +  def initialize url
   2160 +    @url = url
   2161 +    @resource = RestClient::Resource.new url
   2162 +  end
   2163 +
   2164 +  def search query, num=20, start=0
   2165 +    v = get_json "search", :q => query, :start => start, :num => num
   2166 +    v["results"]
   2167 +  end
   2168 +
   2169 +  def count query
   2170 +    get_json("count", :q => query)["count"]
   2171 +  end
   2172 +
   2173 +  def thread id; get_json("thread/#{id}")["messageinfos"] end
   2174 +  def threadinfo id; get_json("thread/#{id}/info") end
   2175 +
   2176 +  def message id, preferred_mime_type="text/plain"
   2177 +    get_json "message/#{id}", :mime_type_pref => preferred_mime_type
   2178 +  end
   2179 +
   2180 +  def send_message message, opts={}
   2181 +    post_json "message/send", :message => message, :labels => (opts[:labels] || []).to_json
   2182 +  end
   2183 +
   2184 +  def message_part message_id, part_id
   2185 +    ## not a json blob, but a binary region
   2186 +    @resource["message/#{message_id}/part/#{part_id}"].get
   2187 +  end
   2188 +
   2189 +  def raw_message message_id
   2190 +    ## not a json blob, but a binary region
   2191 +    @resource["message/#{message_id}/raw"].get
   2192 +  end
   2193 +
   2194 +  def labels; get_json("labels")["labels"] end
   2195 +  def info; get_json("info") end
   2196 +  def size; get_json("size")["size"] end
   2197 +
   2198 +  def prune_labels!; post_json("labels/prune")["labels"] end
   2199 +
   2200 +  def set_labels! thread_id, labels
   2201 +    post_json "thread/#{thread_id}/labels", :labels => labels.to_json
   2202 +  end
   2203 +
   2204 +  def set_state! message_id, state
   2205 +    post_json "message/#{message_id}/state", :state => state.to_json
   2206 +  end
   2207 +
   2208 +  def set_thread_state! thread_id, state
   2209 +    post_json "thread/#{thread_id}/state", :state => state.to_json
   2210 +  end
   2211 +
   2212 +private
   2213 +
   2214 +  def get_json path, params={}
   2215 +    handle_errors do
   2216 +      response = @resource[path + ".json"].get :params => params
   2217 +      response.force_encoding Encoding::UTF_8 if in_ruby19_hell?
   2218 +      JSON.parse response
   2219 +    end
   2220 +  end
   2221 +
   2222 +  def post_json path, params={ :please => "1" } # you need to have at least one param for RestClient to work... lame
   2223 +    handle_errors do
   2224 +      response = @resource[path + ".json"].post params
   2225 +      response.force_encoding Encoding::UTF_8 if in_ruby19_hell?
   2226 +      JSON.parse response
   2227 +    end
   2228 +  end
   2229 +
   2230 +  def handle_errors
   2231 +    begin
   2232 +      v = yield
   2233 +      raise Error, "invalid response: #{v.inspect[0..200]}" unless v.is_a?(Hash)
   2234 +      case v["response"]
   2235 +        when "ok"; v
   2236 +        when "error"; raise Error, v["message"]
   2237 +        else raise Error, "invalid response: #{v.inspect[0..200]}"
   2238 +      end
   2239 +    rescue SystemCallError, RestClient::Exception, JSON::ParserError => e
   2240 +      raise Error, "#{e.message} (#{e.class})"
   2241 +    end
   2242 +  end
   2243 +
   2244 +  def in_ruby19_hell?
   2245 +    @in_ruby19_hell = "".respond_to?(:encoding) if @in_ruby19_hell.nil?
   2246 +    @in_ruby19_hell
   2247 +  end
   2248 +end
   2249 +end
   2250 diff --git a/lib/heliotrope/index.rb b/lib/heliotrope/index.rb
   2251 index 48ea09e..197ba91 100644
   2252 --- a/lib/heliotrope/index.rb
   2253 +++ b/lib/heliotrope/index.rb
   2254 @@ -33,7 +33,7 @@ class Index
   2255    MESSAGE_IMMUTABLE_STATE = Set.new %w(attachment signed encrypted draft sent)
   2256    MESSAGE_STATE = MESSAGE_MUTABLE_STATE + MESSAGE_IMMUTABLE_STATE
   2257    ## if you change any of those state things, be sure to update
   2258 -  ## heliotrope-client as well.
   2259 +  ## heliotrope/client as well.
   2260  
   2261    SNIPPET_MAX_SIZE = 100 # chars
   2262  
   2263 -- 
   2264 1.7.5.4
   2265 
   2266 
   2267 From wmorgan-sup@masanjin.net  Mon Jun 27 01:36:24 2011
   2268 From: wmorgan-sup@masanjin.net (William Morgan)
   2269 Date: Mon, 27 Jun 2011 05:36:24 +0000
   2270 Subject: [sup-devel] try heliotrope!
   2271 Message-ID: <1309152077-sup-5963@masanjin.net>
   2272 
   2273 Hi guys,
   2274 
   2275 If any of you are interested in trying out the next generation of Sup, I
   2276 have things in a reasonably stable state. It's still too early for a
   2277 gem, but I have updated the README for both client and server sides. So
   2278 if you'd like to run some highly experimental code and see what the
   2279 future of curses-based email might look like, follow the instructions
   2280 in:
   2281 
   2282 http://github.com/wmorgan/heliotrope
   2283   and then
   2284 http://github.com/wmorgan/turnsole
   2285 
   2286 Lots of stuff is broken, but I have been using it as an end-to-end email
   2287 system for a week or so now, so the basics are there. Tell me how it goes!
   2288 -- 
   2289 William <wmorgan-sup at masanjin.net>
   2290 
   2291 From dmishd@gmail.com  Mon Jun 27 05:52:14 2011
   2292 From: dmishd@gmail.com (Hamish D)
   2293 Date: Mon, 27 Jun 2011 10:52:14 +0100
   2294 Subject: [sup-devel] try heliotrope!
   2295 In-Reply-To: <1309152077-sup-5963@masanjin.net>
   2296 References: <1309152077-sup-5963@masanjin.net>
   2297 Message-ID: <BANLkTi=MnULdUFhw8Vf5=0dSL_VrbDGLvQ@mail.gmail.com>
   2298 
   2299 > If any of you are interested in trying out the next generation of Sup, I
   2300 > have things in a reasonably stable state. It's still too early for a
   2301 > gem, but I have updated the README for both client and server sides.
   2302 
   2303 Couple of broken bits in the READMEs
   2304 
   2305 turnsole/README - lists rubymail as a gem to instal - should that be rmail ?
   2306 
   2307 heliotrope/README - lists leveldb as a gem but gem didn't find it. A
   2308 gem search finds leveldb-ruby instead.
   2309 
   2310 And does heliotrope use both leveldb and whistlepig, or just one of
   2311 them? (I didn't follow the recent discussion that closely I'm afraid).
   2312 
   2313 Then the gem install of leveldb-ruby failed aswell. So I re-read your
   2314 discussion with Horacio and I see the same issue (-fPIC related - I am
   2315 also on Ubuntu 11.04). You mention that leveldb-ruby 0.5 should be
   2316 available, but I only found 0.4 through gem search -r ...
   2317 
   2318 Hamish
   2319 
   2320 From wmorgan-sup@masanjin.net  Mon Jun 27 23:32:03 2011
   2321 From: wmorgan-sup@masanjin.net (William Morgan)
   2322 Date: Tue, 28 Jun 2011 03:32:03 +0000
   2323 Subject: [sup-devel] try heliotrope!
   2324 In-Reply-To: <1309152077-sup-5963@masanjin.net>
   2325 References: <1309152077-sup-5963@masanjin.net>
   2326 Message-ID: <1309231838-sup-6073@masanjin.net>
   2327 
   2328 Reformatted excerpts from William Morgan's message of 2011-06-27:
   2329 > If any of you are interested in trying out the next generation of Sup
   2330 
   2331 Thanks for all the feedback so far. I forgot to say: if you find bugs,
   2332 please file issues on github (either
   2333 https://github.com/wmorgan/heliotrope/issues or
   2334 https://github.com/wmorgan/turnsole/issues) so that I don't lose track
   2335 of them.
   2336 
   2337 Thanks!
   2338 -- 
   2339 William <wmorgan-sup at masanjin.net>
   2340 
   2341 From wmorgan-sup@masanjin.net  Mon Jun 27 23:53:16 2011
   2342 From: wmorgan-sup@masanjin.net (William Morgan)
   2343 Date: Tue, 28 Jun 2011 03:53:16 +0000
   2344 Subject: [sup-devel] try heliotrope!
   2345 In-Reply-To: <BANLkTi=MnULdUFhw8Vf5=0dSL_VrbDGLvQ@mail.gmail.com>
   2346 References: <1309152077-sup-5963@masanjin.net>
   2347 	<BANLkTi=MnULdUFhw8Vf5=0dSL_VrbDGLvQ@mail.gmail.com>
   2348 Message-ID: <1309232963-sup-9208@masanjin.net>
   2349 
   2350 Reformatted excerpts from Hamish D's message of 2011-06-27:
   2351 > turnsole/README - lists rubymail as a gem to instal - should that be rmail ?
   2352 
   2353 I don't see this in the readme...
   2354 
   2355 > heliotrope/README - lists leveldb as a gem but gem didn't find it. A
   2356 > gem search finds leveldb-ruby instead.
   2357 
   2358 Fixed, thanks.
   2359 
   2360 > And does heliotrope use both leveldb and whistlepig, or just one of
   2361 > them? (I didn't follow the recent discussion that closely I'm afraid).
   2362 
   2363 Both.
   2364 
   2365 > Then the gem install of leveldb-ruby failed aswell. So I re-read your
   2366 > discussion with Horacio and I see the same issue (-fPIC related - I am
   2367 > also on Ubuntu 11.04). You mention that leveldb-ruby 0.5 should be
   2368 > available, but I only found 0.4 through gem search -r ...
   2369 
   2370 Whoops, 0.5 should be available now.
   2371 -- 
   2372 William <wmorgan-sup at masanjin.net>
   2373 
   2374 From wmorgan-sup@masanjin.net  Mon Jun 27 23:54:01 2011
   2375 From: wmorgan-sup@masanjin.net (William Morgan)
   2376 Date: Tue, 28 Jun 2011 03:54:01 +0000
   2377 Subject: [sup-devel] [sup-talk] try heliotrope!
   2378 In-Reply-To: <1309209957-sup-3069@vector>
   2379 References: <1309152077-sup-5963@masanjin.net> <1309209957-sup-3069@vector>
   2380 Message-ID: <1309233212-sup-7112@masanjin.net>
   2381 
   2382 Reformatted excerpts from sergeig's message of 2011-06-27:
   2383 > /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb.rb:11: [BUG] Segmentation fault
   2384 > ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]
   2385 
   2386 Yipes. I've released leveldb-ruby 0.5. Can you try with that please?
   2387 -- 
   2388 William <wmorgan-sup at masanjin.net>
   2389 
   2390 From dmishd@gmail.com  Tue Jun 28 14:34:10 2011
   2391 From: dmishd@gmail.com (Hamish Downer)
   2392 Date: Tue, 28 Jun 2011 19:34:10 +0100
   2393 Subject: [sup-devel] try heliotrope!
   2394 In-Reply-To: <1309232963-sup-9208@masanjin.net>
   2395 References: <1309152077-sup-5963@masanjin.net>
   2396 	<BANLkTi=MnULdUFhw8Vf5=0dSL_VrbDGLvQ@mail.gmail.com>
   2397 	<1309232963-sup-9208@masanjin.net>
   2398 Message-ID: <1309285940-sup-9983@whisper>
   2399 
   2400 Excerpts from William Morgan's message of Tue Jun 28 04:53:16 +0100 2011:
   2401 > Reformatted excerpts from Hamish D's message of 2011-06-27:
   2402 > > turnsole/README - lists rubymail as a gem to instal - should that be rmail ?
   2403 > 
   2404 > I don't see this in the readme...
   2405 
   2406 Sorry - I meant turnsole/HACKING (line 8)
   2407 
   2408 > > Then the gem install of leveldb-ruby failed aswell. So I re-read your
   2409 > > discussion with Horacio and I see the same issue (-fPIC related - I am
   2410 > > also on Ubuntu 11.04). You mention that leveldb-ruby 0.5 should be
   2411 > > available, but I only found 0.4 through gem search -r ...
   2412 > 
   2413 > Whoops, 0.5 should be available now.
   2414 
   2415 Still not there: http://rubygems.org/gems/leveldb-ruby
   2416 
   2417 Hamish
   2418 
   2419 -- 
   2420 Hamish Downer <hamish at foobacca.co.uk>
   2421 
   2422 Web: http://www.foobacca.co.uk/
   2423 GPG: B7C48416
   2424 
   2425 From wmorgan-sup@masanjin.net  Tue Jun 28 16:40:50 2011
   2426 From: wmorgan-sup@masanjin.net (William Morgan)
   2427 Date: Tue, 28 Jun 2011 20:40:50 +0000
   2428 Subject: [sup-devel] try heliotrope!
   2429 In-Reply-To: <1309285940-sup-9983@whisper>
   2430 References: <1309152077-sup-5963@masanjin.net>
   2431 	<BANLkTi=MnULdUFhw8Vf5=0dSL_VrbDGLvQ@mail.gmail.com>
   2432 	<1309232963-sup-9208@masanjin.net> <1309285940-sup-9983@whisper>
   2433 Message-ID: <1309293624-sup-2491@masanjin.net>
   2434 
   2435 Reformatted excerpts from Hamish Downer's message of 2011-06-28:
   2436 > > Whoops, 0.5 should be available now.
   2437 > 
   2438 > Still not there: http://rubygems.org/gems/leveldb-ruby
   2439 
   2440 Wow. I'm not very good at this. Try now please.
   2441 -- 
   2442 William <wmorgan-sup at masanjin.net>
   2443 
   2444 From kevin.mark@verizon.net  Mon Jun 27 11:02:08 2011
   2445 From: kevin.mark@verizon.net (Kevin Mark)
   2446 Date: Mon, 27 Jun 2011 11:02:08 -0400
   2447 Subject: [sup-devel] [sup-talk] try heliotrope!
   2448 In-Reply-To: <1309152077-sup-5963@masanjin.net>
   2449 References: <1309152077-sup-5963@masanjin.net>
   2450 Message-ID: <20110627150207.GB22309@horacrux>
   2451 
   2452 On Mon, Jun 27, 2011 at 05:36:24AM +0000, William Morgan wrote:
   2453 > Hi guys,
   2454 > 
   2455 > If any of you are interested in trying out the next generation of Sup, I
   2456 > have things in a reasonably stable state. It's still too early for a
   2457 > gem, but I have updated the README for both client and server sides. So
   2458 > if you'd like to run some highly experimental code and see what the
   2459 > future of curses-based email might look like, follow the instructions
   2460 > in:
   2461 > 
   2462 > http://github.com/wmorgan/heliotrope
   2463 >   and then
   2464 > http://github.com/wmorgan/turnsole
   2465 > 
   2466 > Lots of stuff is broken, but I have been using it as an end-to-end email
   2467 > system for a week or so now, so the basics are there. Tell me how it goes!
   2468 > -- 
   2469 
   2470 Could you provide a few screenshots of both? (with person details removed) 
   2471 just curious about it.
   2472 -K
   2473 -- 
   2474 |  .''`.  == Debian GNU/Linux ==.| http://kevix.myopenid.com......|
   2475 | : :' :     The Universal OS....| mysite.verizon.net/kevin.mark/.|
   2476 | `. `'   http://www.debian.org/.| http://counter.li.org [#238656]|
   2477 |___`-____Unless I ask to be CCd,.assume I am subscribed._________|
   2478 
   2479 NEVER RESPOND TO CRITICAL PRESS.  IT IS A GAME YOU CAN ONLY LOSE, AND IT
   2480 MAKES US LOOK BAD.
   2481 		-- Bruce Perens
   2482 
   2483 From sergeig@gmail.com  Mon Jun 27 17:30:32 2011
   2484 From: sergeig@gmail.com (sergeig at gmail.com)
   2485 Date: Mon, 27 Jun 2011 14:30:32 -0700
   2486 Subject: [sup-devel] [sup-talk] try heliotrope!
   2487 References: <1309152077-sup-5963@masanjin.net>
   2488 Message-ID: <1309209957-sup-3069@vector>
   2489 
   2490 Server starts, but mbox add does not work.
   2491 
   2492 On ubuntu 10.04, the gem found for livedb is "leveldb-ruby". Not sure if this is related.
   2493 
   2494 ==
   2495 $ ruby -Ilib src/git/heliotrope/bin/heliotrope-add -m Mail/fb-mon.mbox -d .heliotrope/fb-mon/
   2496 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb.rb:11: [BUG] Segmentation fault
   2497 ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]
   2498 
   2499 -- control frame ----------
   2500 c:0008 p:---- s:0053 b:0053 l:000052 d:000052 CFUNC  :make
   2501 c:0007 p:0017 s:0047 b:0047 l:000046 d:000046 METHOD /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb.rb:11
   2502 c:0006 p:0054 s:0043 b:0043 l:000042 d:000042 METHOD /home/sergei/src/git/heliotrope/lib/heliotrope/index.rb:45
   2503 c:0005 p:---- s:0038 b:0038 l:000037 d:000037 FINISH
   2504 c:0004 p:---- s:0036 b:0036 l:000035 d:000035 CFUNC  :new
   2505 c:0003 p:0798 s:0031 b:0031 l:000ebc d:001680 EVAL   src/git/heliotrope/bin/heliotrope-add:113
   2506 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
   2507 c:0001 p:0000 s:0002 b:0002 l:000ebc d:000ebc TOP   
   2508 ---------------------------
   2509 -- Ruby level backtrace information ----------------------------------------
   2510 src/git/heliotrope/bin/heliotrope-add:113:in `<main>'
   2511 src/git/heliotrope/bin/heliotrope-add:113:in `new'
   2512 /home/sergei/src/git/heliotrope/lib/heliotrope/index.rb:45:in `initialize'
   2513 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb.rb:11:in `new'
   2514 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb.rb:11:in `make'
   2515 
   2516 -- C level backtrace information -------------------------------------------
   2517 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(rb_vm_bugreport+0x72) [0xb7807102]
   2518 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x56657) [0xb76df657]
   2519 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(rb_bug+0x3a) [0xb76df74a]
   2520 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x10a1c4) [0xb77931c4]
   2521 [0xb787c410]
   2522 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb/leveldb.so(_ZN7leveldb8SkipListIPKcNS_8MemTable13KeyComparatorEE6InsertERKS2_+0x2c) [0xb712feec]
   2523 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb/leveldb.so(_ZN7leveldb8MemTable3AddEyNS_9ValueTypeERKNS_5SliceES4_+0x11a) [0xb712f85a]
   2524 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb/leveldb.so(+0x29699) [0xb7138699]
   2525 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb/leveldb.so(_ZNK7leveldb10WriteBatch7IterateEPNS0_7HandlerE+0x1cd) [0xb71389bd]
   2526 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb/leveldb.so(_ZN7leveldb18WriteBatchInternal10InsertIntoEPKNS_10WriteBatchEPNS_8MemTableE+0x40) [0xb7138a60]
   2527 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb/leveldb.so(_ZN7leveldb6DBImpl14RecoverLogFileEyPNS_11VersionEditEPy+0x35c) [0xb7126d6c]
   2528 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb/leveldb.so(_ZN7leveldb6DBImpl7RecoverEPNS_11VersionEditE+0x261) [0xb71280b1]
   2529 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb/leveldb.so(_ZN7leveldb2DB4OpenERKNS_7OptionsERKSsPPS0_+0xbd) [0xb712ad2d]
   2530 /home/sergei/.rvm/gems/ruby-1.9.2-p180/gems/leveldb-ruby-0.4/lib/leveldb/leveldb.so(+0x14165) [0xb7123165]
   2531 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x1681b9) [0xb77f11b9]
   2532 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x178e1e) [0xb7801e1e]
   2533 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x16db50) [0xb77f6b50]
   2534 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x173128) [0xb77fc128]
   2535 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x174902) [0xb77fd902]
   2536 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(rb_obj_call_init+0x50) [0xb76e18b0]
   2537 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(rb_class_new_instance+0x3a) [0xb77302ea]
   2538 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x168208) [0xb77f1208]
   2539 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x178e1e) [0xb7801e1e]
   2540 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x16db50) [0xb77f6b50]
   2541 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x173128) [0xb77fc128]
   2542 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(rb_iseq_eval_main+0x1f2) [0xb77fc562]
   2543 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(+0x58f3a) [0xb76e1f3a]
   2544 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(ruby_exec_node+0x25) [0xb76e1f75]
   2545 /home/sergei/.rvm/rubies/ruby-1.9.2-p180/lib/libruby.so.1.9(ruby_run_node+0x35) [0xb76e3785]
   2546 ruby(main+0x68) [0x80487f8]
   2547 /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb74b4bd6]
   2548 ruby() [0x80486f1]
   2549 
   2550 [NOTE]
   2551 You may have encountered a bug in the Ruby interpreter or extension libraries.
   2552 Bug reports are welcome.
   2553 For details: http://www.ruby-lang.org/bugreport.html
   2554 
   2555 --
   2556 list of gems:
   2557 
   2558 ==
   2559 $ gem list
   2560 
   2561 *** LOCAL GEMS ***
   2562 
   2563 abstract (1.0.0)
   2564 actionmailer (3.0.9)
   2565 actionpack (3.0.9)
   2566 activemodel (3.0.9)
   2567 activerecord (3.0.9)
   2568 activeresource (3.0.9)
   2569 activesupport (3.0.9)
   2570 arel (2.1.3, 2.0.10)
   2571 builder (3.0.0, 2.1.2)
   2572 bundler (1.0.15)
   2573 erubis (2.7.0, 2.6.6)
   2574 gettext (2.1.0)
   2575 highline (1.6.2)
   2576 i18n (0.6.0, 0.5.0)
   2577 leveldb-ruby (0.4)
   2578 locale (2.0.5)
   2579 lockfile (1.4.3)
   2580 mail (2.3.0, 2.2.19)
   2581 mime-types (1.16)
   2582 ncursesw (1.2.4.3)
   2583 polyglot (0.3.1)
   2584 rack (1.3.0, 1.2.3)
   2585 rack-mount (0.8.1, 0.6.14)
   2586 rack-test (0.6.0, 0.5.7)
   2587 rails (3.0.9)
   2588 railties (3.0.9)
   2589 rake (0.9.2, 0.8.7 ruby)
   2590 rdoc (3.6.1)
   2591 rest-client (1.6.3)
   2592 rmail (1.0.0)
   2593 rubygems-update (1.8.5)
   2594 sinatra (1.2.6)
   2595 sup (0.12.1)
   2596 thor (0.14.6)
   2597 tilt (1.3.2)
   2598 treetop (1.4.9)
   2599 trollop (1.16.2)
   2600 tzinfo (0.3.28)
   2601 whistlepig (0.7)
   2602 xapian-core (1.2.3.1)
   2603 xapian-full (1.2.3)
   2604 
   2605 ==
   2606 
   2607 Thx,
   2608 
   2609 -Sergei
   2610 
   2611 
   2612 Excerpts from William Morgan's message of 2011-06-26 22:36:24 -0700:
   2613 > Hi guys,
   2614 > 
   2615 > If any of you are interested in trying out the next generation of Sup, I
   2616 > have things in a reasonably stable state. It's still too early for a
   2617 > gem, but I have updated the README for both client and server sides. So
   2618 > if you'd like to run some highly experimental code and see what the
   2619 > future of curses-based email might look like, follow the instructions
   2620 > in:
   2621 > 
   2622 > http://github.com/wmorgan/heliotrope
   2623 >   and then
   2624 > http://github.com/wmorgan/turnsole
   2625 > 
   2626 > Lots of stuff is broken, but I have been using it as an end-to-end email
   2627 > system for a week or so now, so the basics are there. Tell me how it goes!
   2628 
   2629 From alvherre@alvh.no-ip.org  Tue Jun 28 17:18:52 2011
   2630 From: alvherre@alvh.no-ip.org (Alvaro Herrera)
   2631 Date: Tue, 28 Jun 2011 17:18:52 -0400
   2632 Subject: [sup-devel] try heliotrope!
   2633 In-Reply-To: <1309293624-sup-2491@masanjin.net>
   2634 References: <1309152077-sup-5963@masanjin.net>
   2635 	<BANLkTi=MnULdUFhw8Vf5=0dSL_VrbDGLvQ@mail.gmail.com>
   2636 	<1309232963-sup-9208@masanjin.net> <1309285940-sup-9983@whisper>
   2637 	<1309293624-sup-2491@masanjin.net>
   2638 Message-ID: <1309295815-sup-5006@alvh.no-ip.org>
   2639 
   2640 Excerpts from William Morgan's message of mar jun 28 16:40:50 -0400 2011:
   2641 > Reformatted excerpts from Hamish Downer's message of 2011-06-28:
   2642 > > > Whoops, 0.5 should be available now.
   2643 > > 
   2644 > > Still not there: http://rubygems.org/gems/leveldb-ruby
   2645 > 
   2646 > Wow. I'm not very good at this. Try now please.
   2647 
   2648 It's there now, yes, thanks :-)
   2649 
   2650 -- 
   2651 ?lvaro Herrera <alvherre at alvh.no-ip.org>
   2652 
   2653 From alvherre@alvh.no-ip.org  Tue Jun 28 13:42:59 2011
   2654 From: alvherre@alvh.no-ip.org (Alvaro Herrera)
   2655 Date: Tue, 28 Jun 2011 13:42:59 -0400
   2656 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   2657 In-Reply-To: <1308765957-sup-2477@masanjin.net>
   2658 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   2659 	<1308610289-sup-7090@masanjin.net>
   2660 	<1308713034-sup-9195@masanjin.net>
   2661 	<201106222138.51097.hsanson@gmail.com>
   2662 	<1308765957-sup-2477@masanjin.net>
   2663 Message-ID: <1309282796-sup-1216@alvh.no-ip.org>
   2664 
   2665 Excerpts from William Morgan's message of mi? jun 22 14:06:44 -0400 2011:
   2666 > Reformatted excerpts from Horacio Sanson's message of 2011-06-22:
   2667 > > It works!!
   2668 > 
   2669 > Great. I will release that as leveldb-ruby 0.5. Hopefully the leveldb
   2670 > branch of heliotrope will work for you too.
   2671 
   2672 Hi, I was just trying to get the latest Heliotrope, but I'm getting the
   2673 same -fPIC problem with leveldb-ruby.  Gem says it's trying to install
   2674 0.4 though; maybe you forgot to actually release 0.5?
   2675 
   2676 Last line of failing gem install:
   2677 
   2678 /usr/bin/ld: ../../leveldb/libleveldb.a(db_impl.o): relocation R_X86_64_32S against `vtable for leveldb::DB' can not be used when making a shared object; recompile with -fPIC
   2679 ../../leveldb/libleveldb.a: could not read symbols: Bad value
   2680 collect2: ld returned 1 exit status
   2681 make: *** [leveldb.so] Error 1
   2682 
   2683 
   2684 Gem files will remain installed in /var/lib/gems/1.9.1/gems/leveldb-ruby-0.4 for inspection.
   2685 Results logged to /var/lib/gems/1.9.1/gems/leveldb-ruby-0.4/ext/leveldb/gem_make.out
   2686 
   2687 
   2688 -- 
   2689 ?lvaro Herrera <alvherre at alvh.no-ip.org>
   2690 
   2691 From wmorgan-sup@masanjin.net  Wed Jun 29 01:18:55 2011
   2692 From: wmorgan-sup@masanjin.net (William Morgan)
   2693 Date: Wed, 29 Jun 2011 05:18:55 +0000
   2694 Subject: [sup-devel] Tokyo Cabinet fails with invalid record header
   2695 In-Reply-To: <1309282796-sup-1216@alvh.no-ip.org>
   2696 References: <BANLkTikNPaccz_Lhc_ws_pEUgRpQRwntjA@mail.gmail.com>
   2697 	<1308610289-sup-7090@masanjin.net>
   2698 	<1308713034-sup-9195@masanjin.net>
   2699 	<201106222138.51097.hsanson@gmail.com>
   2700 	<1308765957-sup-2477@masanjin.net>
   2701 	<1309282796-sup-1216@alvh.no-ip.org>
   2702 Message-ID: <1309324721-sup-2829@masanjin.net>
   2703 
   2704 Reformatted excerpts from Alvaro Herrera's message of 2011-06-28:
   2705 > Hi, I was just trying to get the latest Heliotrope, but I'm getting the
   2706 > same -fPIC problem with leveldb-ruby.  Gem says it's trying to install
   2707 > 0.4 though; maybe you forgot to actually release 0.5?
   2708 
   2709 Yeah, if you try again you should get it. Sorry about that.
   2710 -- 
   2711 William <wmorgan-sup at masanjin.net>
   2712