<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7074049544069411771</id><updated>2024-08-31T09:08:00.939-04:00</updated><category term="linux"/><category term="programming"/><category term="open source"/><category term="C/C++"/><category term="mp3"/><category term="DIY"/><category term="email"/><category term="firefox"/><category term="math"/><category term="media player"/><category term="tech"/><category term="web"/><category term="PMP"/><category term="TCP/IP"/><category term="UMPC"/><category term="bookmark management"/><category term="cheat sheets"/><category term="db"/><category term="developer"/><category term="development"/><category term="eco friendly"/><category term="editor"/><category term="electric vehicle"/><category term="geometry"/><category term="html"/><category term="internet radio"/><category term="music"/><category term="network"/><category term="postgresql"/><category term="ruby"/><category term="science"/><category term="socket application"/><category term="space"/><category term="sustainable living"/><category term="usb"/><category term="web development"/><category term="windows"/><category term="ATT"/><category term="C webserver embedable"/><category term="DSL"/><category term="IDE"/><category term="MiniPC"/><category term="NCSU"/><category term="NetBeans"/><category term="Vim"/><category term="ajax"/><category term="applications"/><category term="apps"/><category term="archaeology"/><category term="archive"/><category term="astronomy"/><category term="authoring"/><category term="barcodes"/><category term="bash"/><category term="biology"/><category term="blog publising"/><category term="blogging"/><category term="bookmarks"/><category term="boot from usb"/><category term="broadband"/><category term="cellular"/><category term="cheat sheet"/><category term="chemistry"/><category term="client"/><category term="client server example"/><category term="collaborative editing"/><category term="college"/><category term="compress"/><category term="computer"/><category term="courses"/><category term="css"/><category term="cygwin"/><category term="database"/><category term="del.icio.us"/><category term="del.icio.us bookmark sharer"/><category term="duplicate bookmarks"/><category term="e-mail"/><category term="ean"/><category term="earthship"/><category term="eco"/><category term="eco living"/><category term="education"/><category term="einstein"/><category term="environment"/><category term="ev"/><category term="example socket code"/><category term="firefox extensions"/><category term="fractals"/><category term="fuel cell powered cars"/><category term="fuel cells"/><category term="gnome"/><category term="health"/><category term="high mileage"/><category term="hybrid"/><category term="hybrid vehicle"/><category term="hydrogen power"/><category term="jVi"/><category term="java"/><category term="kernel"/><category term="kernel hack"/><category term="kernel module"/><category term="learning"/><category term="mail filter"/><category term="mandelbrot"/><category term="mobile"/><category term="moon"/><category term="moon phases"/><category term="multi-threaded programming"/><category term="music streams"/><category term="named pipes"/><category term="notes"/><category term="nova"/><category term="paleontology"/><category term="pbs"/><category term="pdf"/><category term="peripherals"/><category term="phone"/><category term="php"/><category term="physics"/><category term="physics. universe"/><category term="planets"/><category term="portable"/><category term="portable linux"/><category term="posix"/><category term="postgresql cheat sheet"/><category term="programmer"/><category term="pthread"/><category term="publishing"/><category term="quotes"/><category term="radio"/><category term="ray tracing"/><category term="rdbms"/><category term="reference sheets"/><category term="report generator"/><category term="report tools"/><category term="reporting"/><category term="reporting system"/><category term="rip"/><category term="rss"/><category term="rxvt"/><category term="school"/><category term="server"/><category term="shared editing"/><category term="shared memory"/><category term="sky"/><category term="soap"/><category term="society"/><category term="solar system"/><category term="spam"/><category term="spam filter"/><category term="stars"/><category term="stickies"/><category term="streaming music"/><category term="streamripper"/><category term="string theory"/><category term="sustainable"/><category term="system administration"/><category term="technology"/><category term="terminal"/><category term="threads"/><category term="tomboy"/><category term="tutorials"/><category term="uncompress"/><category term="universe"/><category term="unix"/><category term="upc"/><category term="upc codes"/><category term="vi"/><category term="wap"/><category term="wiki"/><category term="winzip alternative"/><category term="wireless TV"/><category term="writing"/><category term="xml"/><category term="zim"/><category term="zip"/><category term="zipfiles"/><title type='text'>cclips</title><subtitle type='html'>Eclectic musings and finds&lt;br/&gt;&lt;br/&gt;&#xa;&#xa;http://www.m-w.com/dictionary/Eclectic&lt;br/&gt;&#xa;    adjective &lt;br/&gt;&#xa;Etymology:&#xa;    Greek eklektikos, from eklegein to select, from ex- out + legein to gather &lt;br/&gt;&#xa;&#xa;1: selecting what appears to be best in various doctrines, methods, or styles&lt;br/&gt;&#xa;2: composed of elements drawn from various sources;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>69</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-7635922020694229160</id><published>2015-05-22T08:43:00.000-04:00</published><updated>2015-05-22T08:43:00.720-04:00</updated><title type='text'>Interactive Editor -- vim in ruby</title><content type='html'>&lt;a href=&quot;http://vimcasts.org/episodes/running-vim-within-irb/&quot;&gt;http://vimcasts.org/episodes/running-vim-within-irb/&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/7635922020694229160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/7635922020694229160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7635922020694229160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7635922020694229160'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2015/05/interactive-editor-vim-in-ruby.html' title='Interactive Editor -- vim in ruby'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-6261911810063000452</id><published>2015-01-26T11:26:00.000-05:00</published><updated>2015-01-26T11:26:46.175-05:00</updated><title type='text'>gwan web application server</title><content type='html'>http://gwan.com/&lt;br /&gt;
&lt;br /&gt;
G-WAN runs &lt;tt&gt;C, C# or Java&lt;/tt&gt; with &lt;tt class=&quot;note cdgrey bwhite&quot;&gt;less CPU&lt;/tt&gt; and &lt;tt class=&quot;note cdgrey bwhite&quot;&gt;less RAM&lt;/tt&gt; while handling &lt;tt class=&quot;note cdgrey bwhite&quot;&gt;more requests&lt;/tt&gt; than &lt;a href=&quot;http://gwan.ch/benchmark/babel.html#allservers&quot; target=&quot;_blank&quot;&gt;other servers&lt;/a&gt;. Other languages (Go, PHP, Python, Ruby, JS...) benefit from G-WAN&#39;s multicore architecture. </content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/6261911810063000452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/6261911810063000452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/6261911810063000452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/6261911810063000452'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2015/01/gwan-web-application-server.html' title='gwan web application server'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-7871618542506791869</id><published>2010-08-31T23:45:00.005-04:00</published><updated>2010-08-31T23:53:42.141-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C webserver embedable"/><title type='text'>Mongoose webserver - single file embedable webserver coded in C</title><content type='html'>From the website   &lt;a href=&quot;http://code.google.com/p/mongoose/&quot;&gt;http://code.google.com/p/mongoose/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mongoose is an easy to use web server. It can be embedded into existing application to provide a web interface to it.&lt;br /&gt;&lt;br /&gt;Mongoose web server executable is self-sufficient, it does not depend on anything to start serving requests. If it is copied to any directory and executed, it starts to serve that directory on port 8080 (so to access files, go to http://localhost:8080). If some additional config is required - for example, different listening port or IP-based access control, then a mongoose.conf file with respective options (see example) can be created in the same directory where executable lives. This makes Mongoose perfect for all sorts of demos, quick tests, file sharing, and Web programming.</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/7871618542506791869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/7871618542506791869' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7871618542506791869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7871618542506791869'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2010/08/mongoose-webserver-single-file.html' title='Mongoose webserver - single file embedable webserver coded in C'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-7074151545377722359</id><published>2009-02-28T15:57:00.002-05:00</published><updated>2009-02-28T16:05:02.190-05:00</updated><title type='text'>Or, Let Picard ID Your Music</title><content type='html'>&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;If you&#39;d prefer a bit more control over your music id&#39;ing than the previously posted ruby script, then Picard should fit the bill.  I&#39;m using it in conjunction with the noted script.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://musicbrainz.org/doc/PicardTagger&quot;&gt;http://musicbrainz.org/doc/PicardTagger&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the site: &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Picard&lt;/strong&gt; is the next generation MusicBrainz tagging application. This new tagging concept is album oriented, as opposed to track/file oriented like the &lt;a href=&quot;http://musicbrainz.org/doc/ClassicTagger&quot; title=&quot;Wiki docs link&quot; class=&quot;official&quot; linkindex=&quot;59&quot; set=&quot;yes&quot;&gt;ClassicTagger&lt;/a&gt; was. Picard is written in Python, which is a cross-platform language, and makes use of cross-platform libraries - this allows the same code to run both on Windows, Linux and Mac OS X.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;zemanta-pixie&quot;&gt;&lt;img src=&quot;http://img.zemanta.com/pixy.gif?x-id=f0c75a06-974a-42c6-91a2-1e60db06d9b5&quot; class=&quot;zemanta-pixie-img&quot; /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/7074151545377722359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/7074151545377722359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7074151545377722359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7074151545377722359'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2009/02/or-let-picard-id-your-music.html' title='Or, Let Picard ID Your Music'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-5865334390765811717</id><published>2009-02-28T15:39:00.003-05:00</published><updated>2009-02-28T15:42:38.027-05:00</updated><title type='text'>Let Ruby ID Your Music</title><content type='html'>&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;a href=&quot;http://tenderlovemaking.com/2008/08/04/identifying-unknown-music-with-ruby/&quot;&gt;Tender Lovemaking » Blog Archive » Identifying unknown music with Ruby&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A quick intro noted above from the author of the earworm gem.  A really cool piece of work for identifying music files.&lt;br /&gt;&lt;br /&gt;Here&#39;s how I am using it -- note that I&#39;m also using rbrainz, another really neat piece of code..  This code needs to be a bit neater/more functional, but it was a quick solution to a bunch of mp3&#39;s pulled down from spinner.com&#39;s and daytrotter.com&#39;s mp3 of the day pages.&lt;br /&gt;&lt;br /&gt;What it does:&lt;br /&gt;Walks a file hierarchy finding *.mp3/*.MP3 files.&lt;br /&gt;Renames the file based on the id3 tags in the file.&lt;br /&gt;Relocates the file into my Music directory in the proper file hierarchy based on the id3 tags.&lt;br /&gt;If it can&#39;t id the file via id3 tags, it tries to id the file via rbrainz, and update the tags&lt;br /&gt;If it can, it relocates the file appropriately&lt;br /&gt;If it can&#39;t it dumps the file into Music/undertermined -- I can come back next month and try the id again.&lt;br /&gt;&lt;br /&gt;&lt;big&gt;&lt;big&gt;&lt;br /&gt;&lt;/big&gt;&lt;/big&gt;&lt;small&gt;&lt;small&gt;require &#39;rubygems&#39;&lt;br /&gt;require &#39;id3lib&#39;&lt;br /&gt;require &#39;earworm&#39;&lt;br /&gt;require &#39;rbrainz&#39;&lt;br /&gt;include MusicBrainz&lt;br /&gt;&lt;br /&gt;class String&lt;br /&gt;   def alnum_ws_sanitize()&lt;br /&gt;       self.gsub!(/[^\/[:alnum:]\s]/, &#39;&#39;)&lt;br /&gt;   end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def printAndDescend(pattern)&lt;br /&gt;   #we keep track of the directories, to be used in the second, recursive part of this function&lt;br /&gt;   directories=[]&lt;br /&gt;   Dir[&#39;*&#39;].sort.each do |name|&lt;br /&gt;       if File.file?(name) and name[pattern]&lt;br /&gt;           # Load a tag from a file&lt;br /&gt;           tag = ID3Lib::Tag.new(File.expand_path(name))&lt;br /&gt;           #p tag&lt;br /&gt;           musicdir=&quot;/home/rthompso/Music/&quot;&lt;br /&gt;           if tag.title and tag.album and tag.artist&lt;br /&gt;               dirpath = musicdir + tag.artist.strip + &quot;/&quot; + tag.album.strip&lt;br /&gt;               dirpath.alnum_ws_sanitize&lt;br /&gt;&lt;br /&gt;               puts dirpath&lt;br /&gt;               if !File.directory?(dirpath)&lt;br /&gt;                   FileUtils.mkdir_p(dirpath)&lt;br /&gt;               end&lt;br /&gt;&lt;br /&gt;               #    if !File.directory?(tag.album)&lt;br /&gt;               #        FileUtils.mkdir_p tag.album&lt;br /&gt;               #    end&lt;br /&gt;&lt;br /&gt;               tag.title.alnum_ws_sanitize&lt;br /&gt;               if !File.exists?(tag.title)&lt;br /&gt;                   dest = dirpath.strip + &quot;/&quot; + tag.title.strip.tr(&#39;/()&#39;,&#39;-&#39;) + &quot;.mp3&quot;&lt;br /&gt;                   FileUtils.mv(File.expand_path(name), dest)&lt;br /&gt;               end&lt;br /&gt;               puts &quot;Title:  &quot; + tag.title&lt;br /&gt;               puts &quot;Album:  &quot; + tag.album&lt;br /&gt;               puts &quot;Artist:  &quot; + tag.artist&lt;br /&gt;           else&lt;br /&gt;               #    puts &quot;Title:  &quot; + tag.title&lt;br /&gt;               #    puts &quot;Album:  &quot; + tag.album&lt;br /&gt;               #    puts &quot;Artist:  &quot; + tag.artist&lt;br /&gt;               puts  File.expand_path(name)&lt;br /&gt;               ew = Earworm::Client.new(&#39;9fd161da6c15d840fc25f0df0fac7b1f&#39;)&lt;br /&gt;               begin&lt;br /&gt;                   info = ew.identify(:file =&amp;gt; File.expand_path(name))&lt;br /&gt;               rescue =&amp;gt; e&lt;br /&gt;                   FileUtils.mv(File.expand_path(name), &quot;/home/rthompso/Music/undetermined&quot;)&lt;br /&gt;                   puts &quot;ew.identify failed&quot;&lt;br /&gt;                   puts(File.expand_path(name))&lt;br /&gt;                   next&lt;br /&gt;               end&lt;br /&gt;               q = MusicBrainz::Webservice::Query.new&lt;br /&gt;               results = q.get_tracks(Webservice::TrackFilter.new(:puid =&amp;gt; info.puid_list))&lt;br /&gt;               if results.count&lt;br /&gt;                   begin&lt;br /&gt;                       tag.title = results[0].entity.title&lt;br /&gt;                       tag.album = results[0].entity.releases.entries&lt;br /&gt;                       tag.artist = results[0].entity.artist&lt;br /&gt;                       tag.update!&lt;br /&gt;                       #puts results[0].score&lt;br /&gt;&lt;br /&gt;                       puts results[0].entity.title&lt;br /&gt;                       puts results[0].entity.releases.entries&lt;br /&gt;                       puts results[0].entity.artist&lt;br /&gt;                       puts &quot;going to set tags now&quot;&lt;br /&gt;                   rescue&lt;br /&gt;                       FileUtils.mv(File.expand_path(name), &quot;/home/rthompso/Music/undetermined&quot;)&lt;br /&gt;                       puts &quot;musicbrainz failed&quot;&lt;br /&gt;                       puts(File.expand_path(name))&lt;br /&gt;                   end&lt;br /&gt;               else&lt;br /&gt;                   FileUtils.mv(File.expand_path(name), &quot;/home/rthompso/Music/undetermined&quot;)&lt;br /&gt;                   puts(File.expand_path(name))&lt;br /&gt;&lt;br /&gt;               end&lt;br /&gt;           end&lt;br /&gt;&lt;br /&gt;       elsif File.directory?(name)&lt;br /&gt;           directories &amp;lt;&amp;lt; name&lt;br /&gt;       end&lt;br /&gt;   end&lt;br /&gt;   directories.each do |name|&lt;br /&gt;       #don&#39;t descend into . or .. on linux&lt;br /&gt;       Dir.chdir(name){printAndDescend(pattern)} if !Dir.pwd[File.expand_path(name)]&lt;br /&gt;   end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#print all ruby files&lt;br /&gt;printAndDescend(/.+\.mp3$/)&lt;br /&gt;printAndDescend(/.+\.MP3$/)&lt;br /&gt;&lt;br /&gt;&lt;/small&gt;&lt;/small&gt;&lt;div class=&quot;zemanta-pixie&quot;&gt;&lt;img src=&quot;http://img.zemanta.com/pixy.gif?x-id=c53c814b-0a87-40eb-81fc-86d60a64098a&quot; class=&quot;zemanta-pixie-img&quot; /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/5865334390765811717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/5865334390765811717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/5865334390765811717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/5865334390765811717'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2009/02/let-ruby-id-your-music.html' title='Let Ruby ID Your Music'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-2378656538099780866</id><published>2008-12-06T20:04:00.003-05:00</published><updated>2008-12-06T20:25:28.329-05:00</updated><title type='text'>Evolution + clamav + ruby</title><content type='html'>Quite a while ago I tied Evolution to clamav via ruby as an anti-virus measure ( I don&#39;t recall, but I most likely based this off of something similar, but not using ruby, that I found via Google ). I recently passed this setup on via the Evolution mailing list in reference to a posted request for examples. After a bit of back and forth, it appears to be working for the requestor. At his suggestion, I&#39;m posting the configuration here also. The filter configuration is shown in the image, and the actual script is listed after. You&#39;ll want to make whatever minor adjustments necessary for it to work in your environment and you&#39;ll probably want to comment out the segments associated with creating the logfiles -- they will end up eating a lot of disk space( comment out the lines referencing fp and Time).&lt;br /&gt;&lt;br /&gt;Click the image to see it clearly.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw6h-CVTvj-cqzmOnk8bOjwhSZ0hdFuZrxmvT941aHSxM8Rbowr0gTHjcEJomCcuMk4HLn3gT4mjfoLNRijMP-BJn4GGcmFuXHLVjbWiXy8UO891x7H3B3V4PPML1XUWGhYrPUts8csSDS/s1600-h/rubyclamavFilter.png&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 626px; height: 338px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw6h-CVTvj-cqzmOnk8bOjwhSZ0hdFuZrxmvT941aHSxM8Rbowr0gTHjcEJomCcuMk4HLn3gT4mjfoLNRijMP-BJn4GGcmFuXHLVjbWiXy8UO891x7H3B3V4PPML1XUWGhYrPUts8csSDS/s320/rubyclamavFilter.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5276850905320046514&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The script file -- rubyclamav.rb&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/usr/bin/ruby&lt;br /&gt;#&lt;br /&gt;require &#39;socket&#39;&lt;br /&gt;fp = File.open(&quot;/var/log/rubyclamav/rubyoutclam_#{Process.pid}.log&quot;, &quot;a&quot;)&lt;br /&gt;START_TIME=Time.now&lt;br /&gt;sendSock = UNIXSocket.open(&#39;/var/run/clamav/clamd.sock&#39;)&lt;br /&gt;#sendSock = UNIXSocket.open(&#39;/var/run/clamav/clamd.ctl&#39;)&lt;br /&gt;sendSock.puts(&quot;STREAM&quot;)&lt;br /&gt;retStr = sendSock.gets&lt;br /&gt;tag, val = retStr.split&lt;br /&gt;sendSock1 =  TCPSocket.open(&#39;localhost&#39;,&quot;#{val}&quot;)&lt;br /&gt;#res = $stdin.read&lt;br /&gt;sendSock1.write($stdin.read)&lt;br /&gt;sendSock1.close&lt;br /&gt;retStr = sendSock.gets&lt;br /&gt;pt = Time.now - START_TIME&lt;br /&gt;#puts &quot;#{retStr}&quot;&lt;br /&gt;#fp.write(&quot;#{res}\n&quot;)&lt;br /&gt;fp.write(&quot;#{retStr}\n&quot;)&lt;br /&gt;fp.write(&quot;ProcessTime = #{pt}\n&quot;)&lt;br /&gt;fp.close&lt;br /&gt;if retStr.match(&quot;FOUND&quot;) then&lt;br /&gt;        system(&quot;zenity --warning --title=\&quot;Evolution: Virus detected\&quot; --text=\&quot;#{retStr}\&quot; &amp;amp;&quot;)&lt;br /&gt;    exit 1&lt;br /&gt;else&lt;br /&gt;    exit 0&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/2378656538099780866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/2378656538099780866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/2378656538099780866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/2378656538099780866'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/12/evolution-clamav-ruby.html' title='Evolution + clamav + ruby'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw6h-CVTvj-cqzmOnk8bOjwhSZ0hdFuZrxmvT941aHSxM8Rbowr0gTHjcEJomCcuMk4HLn3gT4mjfoLNRijMP-BJn4GGcmFuXHLVjbWiXy8UO891x7H3B3V4PPML1XUWGhYrPUts8csSDS/s72-c/rubyclamavFilter.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-4261022746298580368</id><published>2008-04-22T21:13:00.001-04:00</published><updated>2008-04-22T21:13:56.191-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cheat sheet"/><category scheme="http://www.blogger.com/atom/ns#" term="db"/><category scheme="http://www.blogger.com/atom/ns#" term="postgresql"/><category scheme="http://www.blogger.com/atom/ns#" term="postgresql cheat sheet"/><title type='text'>Cheat Sheet 3</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;a href=&#39;http://www.alberton.info/postgresql_cheat_sheet.html&#39;&gt;PostgreSQL cheat sheet&lt;/a&gt;&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/4261022746298580368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/4261022746298580368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4261022746298580368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4261022746298580368'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/cheat-sheet-3.html' title='Cheat Sheet 3'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-2753534648002010591</id><published>2008-04-22T19:28:00.001-04:00</published><updated>2008-04-22T19:28:49.186-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="multi-threaded programming"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="pthread"/><category scheme="http://www.blogger.com/atom/ns#" term="threads"/><title type='text'>pthread tutorial</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;font face=&#39;sans-serif&#39;&gt;A starter tutorial for &lt;a href=&#39;https://computing.llnl.gov/tutorials/pthreads/&#39;&gt;pthread &lt;/a&gt;threaded programming.&lt;/font&gt;&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/2753534648002010591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/2753534648002010591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/2753534648002010591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/2753534648002010591'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/pthread-tutorial.html' title='pthread tutorial'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-5106455069171045006</id><published>2008-04-22T19:25:00.001-04:00</published><updated>2008-04-22T19:25:05.265-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cheat sheets"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="reference sheets"/><title type='text'>Cheat Sheets 2</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;More &lt;a href=&#39;http://www.digilife.be/quickreferences/Home.html&#39;&gt;Cheat Sheets&lt;/a&gt;&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/5106455069171045006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/5106455069171045006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/5106455069171045006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/5106455069171045006'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/cheat-sheets-2.html' title='Cheat Sheets 2'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-7504017182578378092</id><published>2008-04-22T19:15:00.001-04:00</published><updated>2008-04-22T19:15:41.304-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cheat sheets"/><category scheme="http://www.blogger.com/atom/ns#" term="development"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><title type='text'>Cheat Sheets 1</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;font face=&#39;sans-serif&#39;&gt;&lt;a href=&#39;http://www.petefreitag.com/item/455.cfm&#39;&gt;Developer cheat sheets&lt;/a&gt;.  Web, DB, Language, etc&lt;/font&gt;&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/7504017182578378092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/7504017182578378092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7504017182578378092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7504017182578378092'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/cheat-sheets-1.html' title='Cheat Sheets 1'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-8383377218681307260</id><published>2008-04-22T18:57:00.001-04:00</published><updated>2008-04-22T18:57:45.113-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="barcodes"/><category scheme="http://www.blogger.com/atom/ns#" term="ean"/><category scheme="http://www.blogger.com/atom/ns#" term="upc"/><category scheme="http://www.blogger.com/atom/ns#" term="upc codes"/><title type='text'>Looking for UPC database cross reference?</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Look no further.  Check out the &lt;a href=&#39;http://www.upcdatabase.com&#39;&gt;Internet UPC Database&lt;/a&gt;&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/8383377218681307260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/8383377218681307260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/8383377218681307260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/8383377218681307260'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/looking-for-upc-database-cross.html' title='Looking for UPC database cross reference?'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-4143522808319633478</id><published>2008-04-22T18:44:00.001-04:00</published><updated>2008-04-22T18:44:52.766-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="electric vehicle"/><category scheme="http://www.blogger.com/atom/ns#" term="ev"/><category scheme="http://www.blogger.com/atom/ns#" term="hybrid vehicle"/><title type='text'>Aptera - $30K hybrid claims +100MPG</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Wouldn&#39;t it be cool to own one of these...&lt;br/&gt;&lt;a href=&#39;http://www.aptera.com/&#39;&gt;aptera&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/4143522808319633478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/4143522808319633478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4143522808319633478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4143522808319633478'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/apter-30k-hybrid-claims-100mpg.html' title='Aptera - $30K hybrid claims +100MPG'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-4887574211507451185</id><published>2008-04-06T00:48:00.001-04:00</published><updated>2008-04-06T00:48:21.944-04:00</updated><title type='text'>Nathan Asher &amp;amp; The Infantry</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;A very cool local band.  Take a &lt;a href=&#39;http://www.myspace.com/nathanasher&#39;&gt;listen&lt;/a&gt;.&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/4887574211507451185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/4887574211507451185' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4887574211507451185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4887574211507451185'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/nathan-asher-infantry.html' title='Nathan Asher &amp;amp; The Infantry'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-8152960770739078211</id><published>2008-04-06T00:44:00.001-04:00</published><updated>2008-04-06T00:44:37.635-04:00</updated><title type='text'>The Baen Free Library</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;From the &lt;a href=&#39;http://www.baen.com/library/&#39;&gt;website&lt;/a&gt;...&lt;br/&gt;&quot;Baen Books is now making available — for free — a number of its titles in electronic format. We&#39;re calling it the Baen Free Library. Anyone who wishes can read these titles online — no conditions, no strings attached. (Later we may ask for  an extremely simple, name &amp;amp; email only, registration. ) Or, if you prefer, you can download the books in one of several formats. Again, with no conditions or strings attached. (URLs to sites which offer the readers for these format are also listed. )&quot;&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/8152960770739078211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/8152960770739078211' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/8152960770739078211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/8152960770739078211'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/baen-free-library.html' title='The Baen Free Library'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-4587562112854005580</id><published>2008-04-06T00:41:00.001-04:00</published><updated>2008-04-06T00:41:36.517-04:00</updated><title type='text'>Free Online Linux Books</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;A &lt;a href=&#39;http://www.linux.org/docs/online_books.html&#39;&gt;listing&lt;/a&gt; of free linux related books available online...&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/4587562112854005580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/4587562112854005580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4587562112854005580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4587562112854005580'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/free-online-linux-books.html' title='Free Online Linux Books'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-7095634226107290839</id><published>2008-04-06T00:40:00.001-04:00</published><updated>2008-04-06T00:40:08.379-04:00</updated><title type='text'>Linux Device Drivers, Third Edition</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&quot;&lt;a href=&#39;http://lwn.net/Kernel/LDD3/&#39;&gt;This is the web site&lt;/a&gt; for the Third Edition of &lt;i&gt;Linux Device Drivers&lt;/i&gt;,&lt;br /&gt;by Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman.  For the&lt;br /&gt;moment, only the finished PDF files are available...&quot;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/7095634226107290839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/7095634226107290839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7095634226107290839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7095634226107290839'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/linux-device-drivers-third-edition.html' title='Linux Device Drivers, Third Edition'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-4435727728764285847</id><published>2008-04-06T00:34:00.002-04:00</published><updated>2008-04-06T00:35:53.625-04:00</updated><title type='text'>VIM Color Scheme Test</title><content type='html'>&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;The &lt;a href=&quot;http://www-2.cs.cmu.edu/%7Emaverick/VimColorSchemeTest/&quot;&gt;vim colorscheme test pages&lt;/a&gt;.  An exceptional resource for vim users.&lt;br /&gt;&lt;br /&gt;The &lt;a href=&quot;http://www-2.cs.cmu.edu/%7Emaverick/VimColorSchemeTest/index-c.html&quot;&gt;example C pages&lt;/a&gt;...&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/4435727728764285847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/4435727728764285847' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4435727728764285847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4435727728764285847'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/vim-color-scheme-test.html' title='VIM Color Scheme Test'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-2003466915345039429</id><published>2008-04-06T00:29:00.001-04:00</published><updated>2008-04-06T00:29:27.466-04:00</updated><title type='text'>Asterisk - open source PBX</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;a href=&#39;http://asterisk.org/index.php?menu=features&#39;&gt;Asterisk &lt;/a&gt;and Digium provide a great PBX framework.&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/2003466915345039429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/2003466915345039429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/2003466915345039429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/2003466915345039429'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/asterisk-open-source-pbx.html' title='Asterisk - open source PBX'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-3930240465304513911</id><published>2008-04-06T00:03:00.001-04:00</published><updated>2008-04-06T00:03:41.860-04:00</updated><title type='text'>eXtended Server Pages (XSP/XSPD) -- C/C++</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;a href=&#39;http://home.arcor.de/joachimschulze/xsp/index.html&#39;&gt;eXtended Server Pages&lt;/a&gt; (XSP/XSPD)&lt;br/&gt;High Performance Web Application Server XSP/XSPD for C/C++, Java and Shell-Scripts&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/3930240465304513911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/3930240465304513911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/3930240465304513911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/3930240465304513911'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/extended-server-pages-xspxspd-cc.html' title='eXtended Server Pages (XSP/XSPD) -- C/C++'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-7092209232864492905</id><published>2008-04-05T23:59:00.002-04:00</published><updated>2008-04-06T00:00:15.460-04:00</updated><title type='text'>CPPSERV a web application server -- C++</title><content type='html'>&lt;div xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;span style=&quot;font-family:ARIAL;&quot;&gt;&quot;&lt;a href=&quot;http://www.total-knowledge.com/progs/cppserv/index.shtml&quot;&gt;CPPSERV &lt;/a&gt;is a web application server that provides Servlet-like API and JSP-like functionality to C++ programmers.  It consists of stand-alone daemon, listening on TCP socket for requests from web server, and web server module. Currently apache-2.0.x and ligttpd are supported.&quot;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/7092209232864492905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/7092209232864492905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7092209232864492905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/7092209232864492905'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/04/cppserv-web-application-server-c.html' title='CPPSERV a web application server -- C++'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-5124200686956147775</id><published>2008-03-19T22:40:00.001-04:00</published><updated>2008-03-19T22:40:32.790-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="del.icio.us"/><category scheme="http://www.blogger.com/atom/ns#" term="del.icio.us bookmark sharer"/><title type='text'>del.icio.us bulk updater</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;a href=&#39;http://ghill.customer.netspace.net.au/re-mark/&#39;&gt;re-mark&lt;/a&gt; -- A great tool.  I had 700+ bookmarks that were not shared, using this tool I was able to share all of them in batches of 100.&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/5124200686956147775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/5124200686956147775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/5124200686956147775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/5124200686956147775'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/03/delicious-bulk-updater.html' title='del.icio.us bulk updater'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-4046638464453002901</id><published>2008-03-19T21:36:00.001-04:00</published><updated>2008-03-19T21:36:28.943-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="kernel"/><category scheme="http://www.blogger.com/atom/ns#" term="kernel hack"/><category scheme="http://www.blogger.com/atom/ns#" term="kernel module"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type='text'>Linux Kernel module example</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Simple easy &lt;a href=&#39;http://www.linuxchix.org/content/courses/kernel_hacking/lesson8&#39;&gt;kernel module&lt;/a&gt; example.&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/4046638464453002901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/4046638464453002901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4046638464453002901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4046638464453002901'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/03/linux-kernel-module-example.html' title='Linux Kernel module example'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-4775994782080003549</id><published>2008-03-19T21:27:00.001-04:00</published><updated>2008-03-19T21:27:57.829-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="report generator"/><category scheme="http://www.blogger.com/atom/ns#" term="report tools"/><category scheme="http://www.blogger.com/atom/ns#" term="reporting"/><category scheme="http://www.blogger.com/atom/ns#" term="reporting system"/><category scheme="http://www.blogger.com/atom/ns#" term="ruby"/><title type='text'>Ruport - ruby reports</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;Need a neat reporting framework, try &lt;a href=&#39;http://stonecode.svnrepository.com/ruport/trac.cgi&#39;&gt;Ruport&lt;/a&gt;.&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/4775994782080003549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/4775994782080003549' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4775994782080003549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/4775994782080003549'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/03/ruport-ruby-reports.html' title='Ruport - ruby reports'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-8462125404760291076</id><published>2008-03-19T21:24:00.001-04:00</published><updated>2008-03-19T21:24:33.605-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="applications"/><category scheme="http://www.blogger.com/atom/ns#" term="email"/><category scheme="http://www.blogger.com/atom/ns#" term="gnome"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type='text'>GnomeFiles</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;&lt;font face=&#39;agency&#39;&gt;Large repository of &lt;a href=&#39;http://www.gnomefiles.org/index.php&#39;&gt;Gnome applications&lt;/a&gt;.  Search and broken out by group.&lt;/font&gt;&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/8462125404760291076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/8462125404760291076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/8462125404760291076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/8462125404760291076'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/03/gnomefiles.html' title='GnomeFiles'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7074049544069411771.post-8095285194115724056</id><published>2008-03-19T21:20:00.003-04:00</published><updated>2008-03-19T21:20:56.046-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="email"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mail filter"/><category scheme="http://www.blogger.com/atom/ns#" term="spam"/><category scheme="http://www.blogger.com/atom/ns#" term="spam filter"/><title type='text'>bogofilter spam filter</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;I use &lt;a href=&#39;http://bogofilter.sourceforge.net/&#39;&gt;bogofilter &lt;/a&gt;for my evolution mail filter.  It works great.  If you need a good spam filter give it a whirl.&lt;br/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cclips.blogspot.com/feeds/8095285194115724056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7074049544069411771/8095285194115724056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/8095285194115724056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7074049544069411771/posts/default/8095285194115724056'/><link rel='alternate' type='text/html' href='http://cclips.blogspot.com/2008/03/bogofilter-spam-filter_19.html' title='bogofilter spam filter'/><author><name>jreidthompson</name><uri>http://www.blogger.com/profile/04027486836638379962</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>