SlideShare a Scribd company logo
1 of 20
www.birdpie.com
     Anup Narkhede
About Me
• Anup Narkhede
• On Rails since 2007
• Employee at www.dynamic50.com
• http://twitter.com/railsbob
Do you tweet links?
What if you want to
look back through
  your old links?
Limitations

• Search only returns last 1500 tweets
• Different TinyUrls for same target links
• Twitter API goes back for 3000 tweets
• Twitter web application
• Aggregates all your tweeted links
• Auto link tagging
• Categories for link management
• Shows popularity of the bookmark
• Resolves the Tiny URLs
• Stores the count
• 404 Errors and Deadlinks
• Gets the page title
Sign Up
• Twitter OAuth (Read-Only)
• Private Users?
Intelligent Tags
   • Auto Tags
   • Listing by tags
Categories
• Manage bookmarks by assigning a category
• A Category acts like a Folder
Hashtags
• Auto Assign a category by adding a hashtag
       RT @dynamic50: New blog post:
      Birdpie Launched http://bit.ly/8iyh2g
                    #ruby



  Puts the bookmark under Ruby Category
Rails 3.0
Architecture
  • 75% Background processes

Crawl       Resolve       Tag
Redis
• Key value store
• Eliminates need for counter cache
• Lists, Sets, Ordered Sets
• Used to manage bookmark counts
Resque
• Queue Manager
• Admin Sinatra Application
• Inspect Failed Jobs
• Add and remove workers
Process
   User      URLs         Bookmarks




 Worker 1           Worker 2      Worker 3



•Crawl                 •Resolve
•Store                 •Tag
                       •Update count
Resque Admin
(Sinatra App)
Redis
http://code.google.com/p/redis/
http://github.com/ezmobius/redis-rb


          Resque
http://github.com/defunkt/resque
Coming soon
• Mozilla Plugin to manage your bookmarks
• Retweets
• Bookmark Search
About Us



 blog.dynamic50.com
www.dynamic50.com
twitter.com/dynamic50

More Related Content

What's hot

Serverless integration zero code
Serverless integration zero codeServerless integration zero code
Serverless integration zero codeMichael Walmsley
 
Inside Wordnik's Architecture
Inside Wordnik's ArchitectureInside Wordnik's Architecture
Inside Wordnik's ArchitectureTony Tam
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerSalesforce Developers
 
Microservices with a Spark
Microservices with a SparkMicroservices with a Spark
Microservices with a SparkYair Galler
 
Avninfosoft Seo strategy for 2014
Avninfosoft Seo strategy  for 2014Avninfosoft Seo strategy  for 2014
Avninfosoft Seo strategy for 2014Kaite Willson
 
ChilliSource PGConnects Master Class
ChilliSource PGConnects Master ClassChilliSource PGConnects Master Class
ChilliSource PGConnects Master Classtaggames
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing SwaggerTony Tam
 
現場の Web Components
現場の Web Components現場の Web Components
現場の Web ComponentsHiroyuki Hara
 
Building powerful-search-in-drupal
Building powerful-search-in-drupalBuilding powerful-search-in-drupal
Building powerful-search-in-drupalPrajwala Manchikatla
 
Lambdaless and AWS CDK
Lambdaless and AWS CDKLambdaless and AWS CDK
Lambdaless and AWS CDKMooYeol Lee
 
API 101 - Understanding APIs.
API 101 - Understanding APIs.API 101 - Understanding APIs.
API 101 - Understanding APIs.Kirsten Hunter
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksTony Tam
 
Automate Amazon S3 Storage with Alexandria
Automate Amazon S3 Storage with AlexandriaAutomate Amazon S3 Storage with Alexandria
Automate Amazon S3 Storage with AlexandriaJeffrey Kemp
 
Rest api to integrate with your site
Rest api to integrate with your siteRest api to integrate with your site
Rest api to integrate with your siteHoang Nguyen
 
Realization facet filters in solr through ajax
Realization facet filters in solr through ajaxRealization facet filters in solr through ajax
Realization facet filters in solr through ajaxKonstantin Osipenko
 
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'LearyMicroservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'LearyOpenCredo
 

What's hot (20)

Serverless integration zero code
Serverless integration zero codeServerless integration zero code
Serverless integration zero code
 
Get rss to blogger
Get rss to bloggerGet rss to blogger
Get rss to blogger
 
Inside Wordnik's Architecture
Inside Wordnik's ArchitectureInside Wordnik's Architecture
Inside Wordnik's Architecture
 
Exposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using SwaggerExposing Salesforce REST Services Using Swagger
Exposing Salesforce REST Services Using Swagger
 
Microservices with a Spark
Microservices with a SparkMicroservices with a Spark
Microservices with a Spark
 
Azure Automation - Azure Vidyapeeth
Azure Automation - Azure VidyapeethAzure Automation - Azure Vidyapeeth
Azure Automation - Azure Vidyapeeth
 
Avninfosoft Seo strategy for 2014
Avninfosoft Seo strategy  for 2014Avninfosoft Seo strategy  for 2014
Avninfosoft Seo strategy for 2014
 
ChilliSource PGConnects Master Class
ChilliSource PGConnects Master ClassChilliSource PGConnects Master Class
ChilliSource PGConnects Master Class
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing Swagger
 
現場の Web Components
現場の Web Components現場の Web Components
現場の Web Components
 
Building powerful-search-in-drupal
Building powerful-search-in-drupalBuilding powerful-search-in-drupal
Building powerful-search-in-drupal
 
Lambdaless and AWS CDK
Lambdaless and AWS CDKLambdaless and AWS CDK
Lambdaless and AWS CDK
 
API 101 - Understanding APIs.
API 101 - Understanding APIs.API 101 - Understanding APIs.
API 101 - Understanding APIs.
 
A Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification LinksA Tasty deep-dive into Open API Specification Links
A Tasty deep-dive into Open API Specification Links
 
Automate Amazon S3 Storage with Alexandria
Automate Amazon S3 Storage with AlexandriaAutomate Amazon S3 Storage with Alexandria
Automate Amazon S3 Storage with Alexandria
 
Practical Semantic Web
Practical Semantic WebPractical Semantic Web
Practical Semantic Web
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Rest api to integrate with your site
Rest api to integrate with your siteRest api to integrate with your site
Rest api to integrate with your site
 
Realization facet filters in solr through ajax
Realization facet filters in solr through ajaxRealization facet filters in solr through ajax
Realization facet filters in solr through ajax
 
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'LearyMicroservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
 

Similar to Birdpie

Being With Rails App For 3 Years
Being With Rails App For 3 YearsBeing With Rails App For 3 Years
Being With Rails App For 3 Yearsdeeeki
 
Jasig rubyon rails
Jasig rubyon railsJasig rubyon rails
Jasig rubyon rails_zaMmer_
 
Jasig rubyon rails
Jasig rubyon railsJasig rubyon rails
Jasig rubyon rails_zaMmer_
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Railsjduff
 
WordPress as a CMS (short version)
WordPress as a CMS (short version)WordPress as a CMS (short version)
WordPress as a CMS (short version)Stephanie Leary
 
Json api dos and dont's
Json api dos and dont'sJson api dos and dont's
Json api dos and dont'sNeven Rakonić
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with RailsYi-Ting Cheng
 
Rails project code review
Rails project code reviewRails project code review
Rails project code reviewRichard Huang
 
Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroomlibrarywebchic
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress UniversityStephanie Leary
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSPC Adriatics
 
Optimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search enginesOptimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search enginesMavention
 
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...C. Daniel Chase
 
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012graybowman
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构Benjamin Tan
 
Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)Mike Schinkel
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrRobert Douglass
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache Solrguest432cd6
 

Similar to Birdpie (20)

Being With Rails App For 3 Years
Being With Rails App For 3 YearsBeing With Rails App For 3 Years
Being With Rails App For 3 Years
 
Jasig rubyon rails
Jasig rubyon railsJasig rubyon rails
Jasig rubyon rails
 
Jasig rubyon rails
Jasig rubyon railsJasig rubyon rails
Jasig rubyon rails
 
How Shopify Scales Rails
How Shopify Scales RailsHow Shopify Scales Rails
How Shopify Scales Rails
 
WordPress as a CMS (short version)
WordPress as a CMS (short version)WordPress as a CMS (short version)
WordPress as a CMS (short version)
 
WordPress as a CMS
WordPress as a CMSWordPress as a CMS
WordPress as a CMS
 
Json api dos and dont's
Json api dos and dont'sJson api dos and dont's
Json api dos and dont's
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with Rails
 
Rails project code review
Rails project code reviewRails project code review
Rails project code review
 
Open Source CMS Playroom
Open Source CMS PlayroomOpen Source CMS Playroom
Open Source CMS Playroom
 
The WordPress University
The WordPress UniversityThe WordPress University
The WordPress University
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search Operations
 
Optimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search enginesOptimizing SharePoint 2010 websites for search engines
Optimizing SharePoint 2010 websites for search engines
 
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
OmniUpdate User Training Conference 2014: Our "Special Sauce" Responsive Desi...
 
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
Digital Publishing with the OSCI Toolkit - Workshop MCN 2012
 
Emkane RCC wp qs
Emkane RCC wp qsEmkane RCC wp qs
Emkane RCC wp qs
 
Restful风格ž„web服务架构
Restful风格ž„web服务架构Restful风格ž„web服务架构
Restful风格ž„web服务架构
 
Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)Developing Complex WordPress Sites without Fear of Failure (with MVC)
Developing Complex WordPress Sites without Fear of Failure (with MVC)
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache Solr
 
State-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache SolrState-of-the-Art Drupal Search with Apache Solr
State-of-the-Art Drupal Search with Apache Solr
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Birdpie

Editor's Notes

  1. Hi All, my name is Anup. I am here to present you birdpie, an experimental project developed using Rails 3 with resque backend. This application was released in January.
  2. So thats me. I am working fulltime on rails since 2007. Right now I work for Dynamic50 which is a cool startup based in Croydon. You can follow me on twitter & my id is railsbob.
  3. You must have seen a ‘tweet this’ link on popular blogs and websites. We tweet the links, share it among our network and then forget about it.
  4. Won;t it be nice if I was able to look back through my links, tag them with keywords, search them, or see who else have tweeted it? There are few websites which aggregate bookmarks, but none of them are offered as personal tools.
  5. But there are many limitations while dealing with twitter. The search cannot go beyond last 1500 tweets We might come accoss different tiny urls pointing to same web page Also, the twitter API cannot go beyond 3000 tweets for a user.
  6. So we offer you Birdpie, a twitter application which aggregates all your tweeted links. It also stores contextual information like tags and allows you to assign a category.
  7. It also resolved the tiny urls, and keeps a track of tweeted count unique to a user. All dead and non existing links are discarded and the link is labeled with the title of the target page.
  8. The sign up is simple, you can log in using your twitter id. Private users can sign up too, but their bookmarks are not available for public viewing on the profile pages or search results.
  9. Intelligent Tags Once the url is saved, birdpie fetches the target page and passes its content to a service to extract tags. You can see an example above. You can also list all bookmarks by a particular tag.
  10. A category is a personal folder to manage your boomark. The dashboard allows you to assign a category for a bookmark and define new ones as you want.
  11. There is another way to assign a category for a bookmark, and that is using a matching hashtag. So, if I tweet a link with hashtag #ruby, it is automatically assigned under ruby cateogy.
  12. We developed this application on Rails 3.0 The idea was to start early and know it better This being a minimal app, we did not face any major issue. The site is up and running smoothly on production since a month.
  13. Birdpie is mostly a background application. There are three main tasks Crawl for new tweets, check for links Resolve target urls Tag and save
  14. We use Redis to manage bookmark counts and tag counts. The in-built increment method eliminates the need of a counter cache. It is pretty fast and improves the overall performance of the application. The Resque queue manager also relies on Redis for operation.
  15. There are few options available for background processing. We chose Resque as we wanted to break the background tasks into multiple queues with different priorities. Also, the admin app bundled with Resque is a handy tool for monitoring.
  16. Basically the process is spread across two queues. User queue deals with fetching content from twitter for a particular user. Bookmarks queue resolves the raw link, tags it and updates the redis index
  17. This is a snapshot of the Resque admin application. You can easily see if you require more workers on a particular queue and act accordingly. It also gives information about failed jobs if any.
  18. We selected redis and resque over delayed job as we wanted to manage the processes using multiple queues. I have covered a brief introduction here, but you can follow these links if you want to dig in more details.
  19. We have few more features in the pipeline, some are listed here. The mozilla plugin will provide you easy access to all your bookmarks right in the browser. Retweet within the birdpie application to save someone else’s bookmarks And finally a more extensive bookmark search.
  20. Thank you for listening to my talk. You can keep a watch on dynamic50 blog for new announcements about birdpie features.