Original source: https://hackpad.com/Web-And-Mobile-Revenue-Models-(final)-EgXuEtSibE7
- Display Ads - ex. Yahoo!
- Search Ads - ex. Google
- Text Ads - ex. Google
- Video Ads - ex. Hulu
- Audio Ads - ex. Pandora
- Promoted Content - ex. Twitter, Tumblr
| jQuery(function() { | |
| $.cookie('tz', (new Date()).getTimezoneOffset()); | |
| }); |
| # How we store all time views across the entire system for http://gauge.es. | |
| # All in one document that gets incremented using MongoDB $inc modifier in | |
| # every track. The $inc increments t, year.t, year.month.t, year.month.day.t | |
| # so we get to the day numbers. These are in EST, as we are in EST and these | |
| # stats are just for us. :) Nothing amazing, but thought I would share. | |
| # | |
| # >> pp View.all_time | |
| { | |
| "_id" => "all_time", | |
| "t" => 502352, |
| class Stylesheet | |
| include MongoMapper::Document | |
| class Processor | |
| def self.errors | |
| [] | |
| end | |
| attr_reader :contents |
| <?xml version="1.0" encoding="UTF-8"?> | |
| <rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:atom="http://www.w3.org/2005/Atom/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:podcast="https://podcastindex.org/namespace/1.0" xmlns:fireside="https://fireside.fm/modules/rss/fireside" version="2.0" encoding="UTF-8"> | |
| <channel> | |
| <fireside:hostname>feed03.fireside.fm</fireside:hostname> | |
| <fireside:genDate>Mon, 15 Dec 2025 02:46:05 -0600</fireside:genDate> | |
| <generator>Fireside (https://fireside.fm)</generator> | |
| <title>The Bible in a Year (with Fr. Mike Schmitz)</title> | |
| <link>https://bibleinayear.fireside.fm</link> | |
| <pubDate>Mon, 15 Dec 2025 03:45:05 -0500</pubDate> | |
| <description>In The Bible in a Year podca |
| # Shorcut because typing GitHub everywhere gets old | |
| SQL = GitHub::SQL | |
| module GitHub | |
| class SQL | |
| private | |
| # Overwrite interpolate to be ok with postgres casting (::regclass, etc.). | |
| def interpolate(sql, extras = nil) | |
| sql.gsub(/(:?):([a-z][a-z0-9_]*)/) do |match| |
| # https://www.postgresql.org/docs/13/ddl-partitioning.html#DDL-PARTITIONING-DECLARATIVE | |
| class PartitionByDay | |
| class Row | |
| include Virtus.model | |
| attribute :name, String | |
| attribute :expression, String | |
| end | |
| def self.all(table) |
Original source: https://hackpad.com/Web-And-Mobile-Revenue-Models-(final)-EgXuEtSibE7
| development: &global_settings | |
| database: textual_development | |
| host: 127.0.0.1 | |
| port: 27017 | |
| test: | |
| database: textual_test | |
| <<: *global_settings | |
| production: |
| # Set HONEYBADGER_FOO_BAR_JOB=asdf where asdf is the check in value Honeybadger gives you. | |
| class ApplicationJob < ActiveJob::Base | |
| after_perform { |job| job.honeybadger_checkin } | |
| # Check in with Honeybadger to let us know that the job was performed | |
| # if there is an identifier configured for the job. | |
| def honeybadger_checkin | |
| identifier = honeybadger_checkin_identifier | |
| return unless identifier.present? |
| -- https://www.postgresql.org/docs/current/fuzzystrmatch.html#id-1.11.7.26.7 | |
| -- Calculates the distance between two strings. | |
| SELECT levenshtein('New York', 'New York'); -- 0 | |
| SELECT levenshtein('New York', 'New Jersey'); -- 5 | |
| SELECT levenshtein('New York', 'Dallas'); -- 8 | |
| -- find the opponent with the name closest to 'New York' | |
| SELECT * FROM opponents WHERE team_id = 1 | |
| ORDER BY levenshtein(name, 'New York') |