Given a set of documents, each associated with multiple tags, how can I retrieve the documents tagged with an arbitrary set of tags?
My solution
| simpleFormat = (text) -> | |
| re1 = /\r\n?/g | |
| re2 = /\n\n+/g | |
| re3 = /([^\n]\n)(?=[^\n])/g | |
| fstr = text | |
| fstr = fstr.replace(re1, "\n") # \r\n and \r -> \n | |
| fstr = fstr.replace(re2, "</p>\n\n<p>") # 2+ newline -> paragraph | |
| fstr = fstr.replace(re3, "$1<br/>") # 1 newline -> br | |
| "<p>#{fstr}</p>" |
| namespace :db do | |
| desc 'Drop all database connections' | |
| task :drop_connections => :environment do | |
| database = Rails::Application.config.database_configuration[RAILS_ENV]["database"] | |
| field = if ActiveRecord::Base.connection.send( :postgresql_version ) < 90200 | |
| 'pg_stat_activity.procpic' # PostgreSQL <= 9.1.x | |
| else | |
| 'pg_stat_activity.pid' # PostgreSQL >= 9.2.x | |
| end |
| =begin | |
| Copyright (c) 2012, Nathaniel Ritmeyer | |
| All rights reserved. | |
| Redistribution and use in source and binary forms, with or without | |
| modification, are permitted provided that the following conditions are met: | |
| 1. Redistributions of source code must retain the above copyright notice, | |
| this list of conditions and the following disclaimer. |
| module ApplicationHelper | |
| def definition_lists_for(model, &block) | |
| dl = DefinitionListHelper.new model | |
| yield dl | |
| end | |
| class DefinitionListHelper | |
| include ActionView::Helpers | |
| include ActionView::Context | |
| include Haml::Helpers |
| I've created a san using Logical Volumes as backing-store iSCSI LUNs (tgt) | |
| the target iqn.2011-09.com.pany.san:target1 using the LV /dev/vg0/t1l1 as backing-store | |
| the initiator sees the device as /dev/sda | |
| on the initiator i've created 2 partition /dev/sda1 (swap) and /dev/sda2 (ext4) | |
| I want to be able to create backup on of the ext4 fs, without stopping the initiator! | |
| The solution i came up with involves the snapshot feature of LVM, kpartx from multipath-tools and some backup method (i prefer rdiff-backup or safekeep). | |
| steps: |
| //Customise Backbone.sync to work with Titanium rather than jQuery | |
| Backbone.sync = (function() { | |
| var methodMap = { | |
| 'create': 'POST', | |
| 'read' : 'GET', | |
| 'update': 'PUT', | |
| 'delete': 'DELETE' | |
| }; | |
| var xhr = Ti.Network.createHTTPClient({ timeout: 5000 }); |
| #!/usr/bin/env ruby | |
| # | |
| # A quick script to dump an overview of all the open issues in all my github projects | |
| # | |
| require 'octokit' | |
| require 'awesome_print' | |
| require 'rainbow' |
| module CouchDBAttachments | |
| def attachment(*args) | |
| lambda do |env| | |
| request = ActionDispatch::Request.new(env) | |
| doc = DocWithAttachments.get(request.params[:doc]) | |
| serve_attachment(doc, request.params[:path]) | |
| end | |
| end | |
| private |
| #!/usr/bin/env ruby | |
| # | |
| # Put this script in your PATH and download from onemanga.com like this: | |
| # onemanga_downloader.rb Bleach [chapter number] | |
| # | |
| # You will find the downloaded chapters under $HOME/Documents/OneManga/Bleach | |
| # | |
| # If you run this script without arguments, it will check your local manga downloads | |
| # and check if there are any new chapters | |
| # |