-
The entire application is built on Ruby on Rails.
-
This site has minimal Javascript, mostly used for adding tools to a site or sites that use a tool.
-
Minimal Javascript is used, but the add site and add tools pages make use of some cool jQuery UI autocomplete features.
-
The homepage, and the tools/site pages without additional parameters are cached, as well as various sidebar items. We use a combination of action caching and fragment caching. We'd like to cache the show pages for tools/sites eventually.
-
This app is built on Rails.
-
The autocomplete used when adding tools to a site, or sites to a tool uses jQuery UI Autocomplete.
-
Solr is used by Sunspot behind the scenes to power all searches. It's also used for autocomplete. Just about everywhere that uses solr has a SQL fallback for if it's down.
-
Ruby/Rails hosting for LineOfThought is all on Heroku. More expensive than some alternatives for sure, but extremely easy to grow on.
-
Google Analytics lets you measure your advertising ROI as well as track your Flash, video, and social networking sites and applications.
-
We use MySQL locally, but PostgeSQL on production via Heroku. Since we're using Solr for a lot of stuff, everything fits in the $15/20GB plan a problem.
-
Pretty much all forms on the site use Formtastic, unless they are crazy simple - like search for instance.
-
Root repository is hosted on both Heroku and GitHub.
-
Heroku uses git for source code management and deployment. Pushing out code to production is a simple 'git push heroku master' from the command line.
-
Most external lookups happen via a DelayedJob including: domain whois, updating Alexa ratings and Google Pageranks, updating Solr and lots of cache updates.
-
All static images (favicons) are stored on S3.
-
All of LineOfThought is under SSL. SSL Requirement is an easy redirect for cases where someone hits a page without SSL.
-
Sunspot supports WillPaginate for paginate for searches, and it's used a few other places on the site.
-
Pismo is used to parse all pages for their content. We extract out titles, descriptions, favicons, keywords and more using it.
-
Used to get up and running quick with an authentication layer. Want to add support for Twitter/Facebook login soon as well.
-
All emails are sent out using DelayedJob and Amazon SES.
-
Edits to sites, tools and Lines of Thought (how a site is using a tool), are all monitored with PaperTrail.
-
Search on the tools and sites pages use Solr and Sunspot. All sorting and filtering by categories works extremely fast with it. We're using the cheapest Solr setup on Heroku for it ($20/month).
-
Workless scales our DJ runners up/down based on what's going on. It's limited to 1 or 0 job runners, so we'll probably disable it at times of increased traffic where we need more than that, but it's awesome for development.
-
Right now we're using the lowest package on Heroku.
-
External links are stored and parsed via DelayedJobs. Their status denotes if able to fetch the URL and if it was able to be parsed with Pismo. URLs that cannot be fetched are purged nightly.
-
The Line of Thought blog is powered by Jekyll and deployed on Github pages. Deploying both the app and the blog can be done with a git push.
-
All application wide settings are grouped by environment and stored in a single application.yaml file.
-
Just about everything on LineOfThought has a URL associated with it. Domainatrix helps parse them out how we need and to reduce duplicates.
-
Favicons are parsed and saved to S3 using Paperclip.
-
All favicons and images on this site are served through CloudFront.
-
Behaviour Driven Development framework for Ruby.
-
Makes tests easy on the fingers and the eyes.
-
Fixture replacement for focused and readable tests.
-
Mocha is a mocking and stubbing library for Ruby
-
The Line of Thought blog is built using with Jekyll.
-
Flutie is used for it's default styles. See the styles used on this site here: https://www.lineofthought.com/styleguides
-
We're tracking the location of each site, tool and bookmark. Later on it'd be cool to do something with this!