Git Product home page Git Product logo

lambda-lovelace's Introduction

⌛️ Tímavera co-founder, time tracking for contractors
🤏 Tiny CRM, hobby project with a friend, WIP
🏡 Icelandic 🇮🇸 frontend engineer
⚡️ Specialisation: JavaScript, React, React Native
👩‍💻 Exploring: Serverless, FaunaDB, Deno & Deno Deploy, Tailwind
👋 Please say hi! [email protected]

lambda-lovelace's People

Contributors

eazhilarasi avatar heerme avatar jonrh avatar marc5690 avatar specter4mjy avatar xinqili1992 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lambda-lovelace's Issues

Read some papers

Deadline: 2016-06-07 13:00

  • Read Project-News report. Link. In the 2016-05-31 meeting the professors recommended to us we'd read this report.

06/10 - Work through Week 3 feedback

Below is week 3 feedback. I have converted the items to tasks but some of them may be split up into separate issues as well. The plan is to have this done by next lab (2016-06-07) but some of it may be more long term tasks.

  • Refine the user story scenarios and avenues to gather user feedback (deal with cold-start).
  • Separate the initial recommendations from subsequent in-app feedback.
  • Will in-app personalisation be based on positive feedback (likes, retweets) or negative feedback ("some me less of this", "thumbs down").
  • Read the AnthusNews report about related problem.
  • Investigate existing tools that you can use to solve this problem (what are their pitfalls)?
  • How does your system compare to Twitter personalization?
  • What can you try to do better (check http://algorithmwatch.org/)?
  • Good you structured the work into components ranked by priority. How will you evaluate each component?
  • Consider using multiple Twitter accounts and the StreamingAPI to deal with Twitter rate limits.

For now the list is just a copy/paste from the email but I may refine and update it as we go along.

Blog and Show & Tell, Week 12

Blog

Deadline: 2016-08-01 17:00.

  • Draft blog blog
  • Get team members feedback
  • Finalize blog
  • Upload blog post to GitHub Pages
  • Submit blog on Moodle

Show & Tell

Deadline: 2016-08-02 12:00.

  • Draft Slides
  • Gather team members feedback
  • Finalize slides
  • Upload PDF of slides on Moodle

Blog week 11

Deadline: 2016-07-25 17:00.

  • Draft blog blog
  • Get team members feedback
  • Finalize blog
  • Upload blog post to GitHub Pages
  • Submit blog on Moodle

Get scikit-learn working with Python 2.7 via Anaconda

This issue is to track progress on getting Python 2.7 working with all current Recommender System progress. This was necessary as Flask's version of scikit-learn will not work with python 3.5, which was used up until now.

06/13 - Blog week 5

Deadline: 2016-07-13 17:00.

  • Draft blog blog
  • Finalize blog
  • Upload blog post to GitHub Pages
  • Submit blog on Moodle

Prepare for Lab Week 3, 2016-05-31

Tasks:

  • Create a GitHub blog, due before Monday
  • Prepare show-and-tell

Note: this is perhaps not worthy of an "Epic" task. Just testing out the functionality by ZenHub.

Not sure yet the difference between a ZenHub Epic and a GitHub Milestone. Although from what I can see Epics have no start/end times, so I guess Epics are just basically gloried "parent" issues that track other issues.

Implement a Recommender System

This is a kind of umbrella task to track overall progress towards finishing the Recommender System part of this project.

  • Research potential algorithms.
  • Recommend algorithm make-up (Case-based with possibly bounded greedy approach).
  • Set up framework for getting Recommender online (Django).
  • Implement a test recommender, using bag-of-words approach.
  • Test Bag-of-words approach.
  • Implement case-based approach.
  • Test case-based approach.

Find a Kanban solution that integrates with GitHub

Summary: At the moment the two most prominent options are as follows:

  • Waffle, free, basic
  • ZenHub, $75, full-featured

Waffle is free and allows us to have a Kanban board view of our projects issues. If we adopt a certain workflow Waffle will update automatically. ZenHub will cost but it's a more full-featured product giving us an option for a burndown chart estimations.

With GitHub integrations

Prices listed is what we'd have to pay for the 3 months wee need it for. Where appropriate I include Twitter accounts of the products. I've found in my personal experience that number of followers and recent activity is a decent indicator of a good & maintained product.

Note that none of these solutions seem to offer time tracking for individual tasks.

  • Waffle.io Free. Recommended by some friends, example. They said it was pretty simple and barebone, basically a Trello for GitHub. Twitter: ~2500 followers, active.
  • ZenHub $75. A Chrome extension that augments the GitHub website by injecting their own code. Essentially extending GitHub. Provides pretty extensive features. Twitter: ~1000 followers, fairly active.
  • HuBoard $72. Website doesn't cover feature availability very well. Twitter: ~500 followers, fairly active.
  • Jixee $60. Seems to be a fairly complete product. Twitter: ~1300 followers, not very active, last tweet ~1.5 month ago.
  • SweepBoard. Didn't look much into it, seems to be a very simple solution. Twitter: ~800 followers, active but it's the account of the company, no recent tweets on SweepBoard.
  • Blossom $66. Twitter: ~3100 followers, very active. Claims to have support for GitHub issues but it's actually work in progress. Discovered when trying out, not recommended.

Without (officially) GitHub integration

These are solutions that could work. In my research I found a solution called Zapier. From what I've read it's essentially a tool to make different services work together. I've no personal experience with it but saw it mentioned few times. The integration links point to the integration to GitHub for each.

Update: I investigated Zapier a bit more. It's incredibly brilliant, but I fear it'll entail too much work to get working properly. 12 weeks is not long enough to justify it I think. Beside, Zapier may cost us $20 to $50 per month which will put the total tally to be too high.

  • KanbanTool, ~€100, integration. I've personally used this product for 1-2 years. Very good experience, very simple and customisable. What I like most about it is being able to keep track of time. I have an account with discount for €6/month per user. Twitter: ~1700 followers, fairly active.
  • Trello, integration. Used this as well. Very nice, but no time tracking. Twitter: ~112.000 followers, very active.
  • KanbanFlow, $75, integration. Twitter: ~1100 followers, not very active.

Other potential Solutions

  • Asana. From what I can see it's more designed to be a general team work solution. There is an integration to GitHub but only for commits to track progress. This seems to be a really nice and popular solution but probably not what we are looking for if we are aiming to use GitHub issues and pull requests in a Kanban style. Twitter: ~105.000 followers, very active.
  • Jira. I've used Jira before. It's a very good product but probably a overkill for only 12 weeks. There is a lot of setup and learning curve to it. Works better for long-term projects.

Celery set up

Set up Celery task runner. Integrate Celery with Flask so we can implement a background task which keeps fetching tweets.

Research fetching a users home timeline

Research or see what the Twitter API can offer us in regards to fetching the home time line of a specific user. The twitter home timeline is the feed of tweets for a user to consume. That is, tweets and retweets from followers.

  • Xinqi: Research - concluded
  • Specter: Give a second look, ~ 2 hours

Update

Xinqi has for the most part concluded that we are facing some limitations from the Twitter API. Aside from rate limits we can only fetch the latest 800 tweets from a users timeline. For us to be able to do any meaningful recommendations we'll need more than that.

We've assigned Specter to take a look as well with a different set of eyes just to make sure we're not missing anything because otherwise we have a lot of work ahead of us manually constructing a users timeline.

Blog and Show & Tell, Week 10

Blogpost

Deadline: 2016-07-18 17:00.

  • Draft blog blog
  • Get team members feedback
  • Finalize blog
  • Upload blog post to GitHub Pages
  • Submit blog on Moodle

Show & Tell

Deadline: 2016-07-19 12:00.

  • Draft Slides
  • Gather team members feedback
  • Finalize slides
  • Upload PDF of slides on Moodle

Overcome Twitter limit multiple token solution

Try using multiple keys to overcome the twitter rate limit. When one key reaches the limit, switch to another key.

Questions:

  1. How many keys needed?
  2. How to monitor when and which limit has been reached?(As different requests may have different limit.)
  3. How to manage and switch those keys?

06/10 - Project Plan

Deadline: 2016-06-10

  • Draft project plan
  • Finalise project plan
  • Submit project plan on Moodle

Write Twitter API Review Document

Write a short review of twitter API. So it will be more convenient for the team to know which information can be acquired from the Twitter API. It will be more helpful with building a recommender system.

Create a blog

Deadline: 2016-06-30 17:00

  • Research Jekyll and GitHub pages
  • Find and set up a Jekyll theme
  • Draft first blog post
  • Finalise blog post
  • Submit link to blog on Moodle
  • Update blog posts with author names
  • Write instructions on how team members write a new blog post

Once the blog has been created submit link to it on Moodle.

Update 2016-05-26: So of course this didn't turn out to be as easy as I thought. What I had in mind was to simply create a GitHub Pages blog. There are two ways, keeping it simple with all blog posts on one page or go for Jekyll. I decided to go for Jekyll for the challenge to learn something along the way.

The default theme provided by Jekyll is pretty bland. Jekyll has a list of themes. The top 3 I found were:

Update 2: I've settled on Slim. Did some prototyping in a temporary repository: https://github.com/jonrh/github-pages-test

A bit research on Flask-Tweepy

Flask-Tweepy brings Tweepy support to Flask applications, with simple configuration and easy access to Tweepy’s API class.

Figure out proper GitHub setup

  • SSH on individual computer
  • Push code to both repositories

Optional:

  • Mirror GitHub issues, milestones, etc. This may not be feasible.

Blog and Show & Tell, Week 8

Blog

Deadline: 2016-07-04 17:00.

  • Draft blog blog
  • Get team members feedback
  • Finalize blog
  • Upload blog post to GitHub Pages
  • Submit blog on Moodle

Show & Tell

Deadline: 2016-07-05 12:00.

  • Draft Slides
  • Gather team members feedback
  • Finalize slides
  • Upload PDF of slides on Moodle

Interim Report - Front End

  • What does the front end consists of?
  • What does it do? - Overall what the app is going to provide to the user and what is achieved in the MVP.
  • Step by step what has been done to get it to the MVP.
  • How are we planning to get the remaining idea working?

Getting more done in GitHub with ZenHub

Hola! @jonrh has created a ZenHub account for the jonrh organization. ZenHub is the only project management tool integrated natively in GitHub – created specifically for fast-moving, software-driven teams.


How do I use ZenHub?

To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.

What can ZenHub do?

ZenHub adds a series of enhancements directly inside the GitHub UI:

  • Real-time, customizable task boards for GitHub issues;
  • Multi-Repository burndown charts, estimates, and velocity tracking based on GitHub Milestones;
  • Personal to-do lists and task prioritization;
  • Time-saving shortcuts – like a quick repo switcher, a “Move issue” button, and much more.

Add ZenHub to GitHub

Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @jonrh.

ZenHub Board

Decide on a Recommendation Algorithm Plan

This task tracks progress towards the creation of the actual recommender algorithm that we will be using to recommend tweets. For now, it will expect two lists: The users tweets and a list of tweets to make recommendations from (Followed accounts, etc).

So far, it seems like the case-based algorithm is the best algorithm to proceed with, possibly augmented with the bounded greedy algorithm for additional variety.

06/14 - Show & Tell, Week 5

Deadline: 2016-06-14 12:00.

  • Draft Slides
  • Finalize slides, team member feedback
  • Upload PDF of slides on Moodle

Create Textual Content for Demo

This item tracks progress towards a complete document containing a rough text to be used for the interim demo on 21/06/2016

Blog week 9

Deadline: 2016-07-11 17:00.

  • Draft blog blog
  • Get team members feedback
  • Finalize blog
  • Upload blog post to GitHub Pages
  • Submit blog on Moodle

Test issue

Testing, seeing how this works with Slack. Will delete shortly.

Sign into iOS client app using Twitter

The Conventional OAuth authentication to get the user log into the App using twitter can sometimes requires lots of POST and GET HTTP calls.
Fabric is Twitters mobile development platform that helps with this authentication process and keeps it very simple.

06/07 - Blog week 4

Deadline: 2016-07-06 17:00.

  • Draft blog blog
  • Finalize blog
  • Upload blog post to GitHub Pages
  • Submit blog on Moodle

Project research & literature review

Note that it may not be feasible time wise to finish reading or researching all the tasks listed, we priorities ourselves.

Papers & Reports system:

  • A Survey of Recommender Systems in Twitter, Su Mon Kywe, Ee-Peng Lim and Feida Zhu, 2012.
  • Uysal, I., Croft, B.W.: User Oriented Tweet Ranking: a Filtering Approach to Microblogs. In: The 20th ACM International Conference on Information and Knowledge Management (2011)
  • Doychin Doychev, Aonghus Lawlor, Rachael Rafter, and Barry Smyth. An analysis of recommender algorithms for online news. CLEF, 2014.
  • Talia Lavie, Michal Sela, Ilit Oppenheim, Ohad Inbar, and Joachim Meyer. User attitudes towards news content personalization. International journal of human-computer studies, 68(8):483–495, 2010.
  • Saptarshi Ghosh, Naveen Sharma, Fabricio Benevenuto, Niloy Ganguly, and Krishna Gummadi. Cognos: crowdsourcing search for topic experts in microblogs. In Proceedings of the 35th international ACM SIGIR conference on Research and development in information retrieval, pages 575–590. ACM, 2012.
  • Parantapa Bhattacharya, Muhammad Bilal Zafar, Niloy Ganguly, Saptarshi Ghosh, and Krishna P Gummadi. Inferring user interests in the twitter social network. In Proceedings of the 8th ACM Conference on Recommender systems, pages 357–360. ACM, 2014.

Papers by Barry Smyth that might be of interest (not directly related but interesting considering Barry Smyth is a CS professor at UCD):

  • Hannon, J., Bennett, M., Smyth, B.: Recommending Twitter Users to Follow Using Content and Collaborative Filtering Approaches. In: The 4th ACM Conference on Recommender Systems (2010)
  • Hannon, J., McCarthy, K., Smyth, B.: Finding Useful Users on Twitter: Twit- tomender the Followee Recommender. In: The 33rd European Conference on Ad- vances in Information Retrieval (2011)
  • Hannon, J., McCarthy, K., Smyth, B.: The Pursuit of Happiness: Searching for Worthy Followees on Twitter. In: The 22nd Irish Conference on Artificial Intelli- gence and Cognitive Science (August 2011)

Reports By Previous Teams:

  • Read the AnthusNews report about related problem.
  • Newsfast, Team Black.
  • Blue Medicine, Team Blue.
  • Trending News, Team Beige.
  • GeoNews, Team Burgundy.

Apps to check out:

  • Research iOS Twitter mobile apps, Jón
    • Official Twitter App
    • TweetBot
    • Twitterific
    • TweetCaster
  • Research Android Twitter mobile apps, Marc
  • Research Desktop/Web Twitter clients
    • TweetDeck

Other apps to check out:

  • Flipboard
  • Pocket
  • Paper, by Facebook
  • News360
  • Medium
  • Techmeme

Papers

  • A Survey of Recommender Systems in Twitter, 2012. Creates a taxonomy of different types of recommender systems and links to research that has been done to that point. For our project we are only interested in the tweet recommendations but there are plenty of other things to recommend. For example: who to follow, what hashtag to use, what url to use, and so on. The paper refers to work by Barry Smyth (a UCD CS professor) which I have added as a side material. Chapter 6 is therefore really the only thing of help to us. It refers to a paper that orders tweets by the likelihood of a user retweeting a specific tweet (similar approach as in this I guess).

Reports By Previous Teams

Here are some notes on the reports from teams that did the module for the previous year.

AnthusNews, Team Pink

Public link

Their project was to create a news article recommendation system from Twitter accounts. The approach they took was to infer discrete interest categories from Twitter lists. They did their research and according to the report achieve about 87% accuracy classifying users from lists and ~70% article classification accuracy. The problems they faced were ambiguous semantics of words. For example "football" can mean both American football (eggball) or traditional football (soccer). They base their work on other academic work but I'm not confident that using Twitter lists will be of much use for us. In my personal experience Twitter Lists are a very unreliable way to indicate anything. For example I've been added few times automatically (by bots) just for mentioning a single mention of things like "Word Press". Their references may be worth checking further. They do mention having issues with the Twitter rate limits which they solved by creating 10 sets of keys (a similar approach we explored but is against Twitter EULA).

Newsfast, Team Black

Summary: A news personalisation and aggregation website. The system takes a mix of recommender system and curated content. There are 14 predetermined technology topics to pick from. Articles are sourced form around 50 RSS feeds. Similar vision to what Flipboard and News360 achieve. It's very similar to Techmeme but with added personalisation

  • The team seems to have had a solid technical setup
  • The team reported good success by using Docker stating it saved the team time. There were issues with Windows users but overall good success.
  • Part-time team operated remotely, used Trello and adapted Scrum methodology.
  • Getting early feedback was critical, even if the product was not as complete as hoped for.

Back-End Tools (page 13/25):

  • Docker, build and deployment
  • nginx, web server reverse proxy to dynamic/static files
  • gunicorn, python dynamic web server
  • redis, easy and quick keystore access
  • requests, HTTP encoding / decoding
  • selenium, automated web testing
  • tweepy, get Twitter information
  • authomatic, Twitter sign-in
  • celery, task queue
  • nltk, NL processing
  • coverage/coveralls/pep8/pyflakes, code quality
  • Circle CI / Travis CI, automated test run

Apps

iOS:

  • Official Twitter App.
  • Tweetbot. I've used it somewhat, it's often claimed to be the best Twitter client on iOS. You can mute certain keywords, hashtags or users but you have to manually do it yourself.
  • Twitterific. An okay client. Couldn't find any recommender parts. There may be some UX cues we can learn from.
  • TweetCaster

Android:
Nothing particularly amazing. What stood out was TweetCaster for having context sensitive tweets (tweets nearby). Maybe something we wish to explore.

Other apps:
Short version: Flipboard, Pocket and News360 had the best recommendation in my experience. News360 had an excellent cold-start solution. Pocket recommends really good stuff. Flipboard has the biggest reach but seems to be taking a sponsored content route. I tried my best to evaluate each system for a few weeks to give the recommendation systems a chance to kick in.

  • Flipboard. Essentially very similar to our original social news aggregator idea. It has more of a twist towards online newspaper/magazine kind of feel. Didn't find many (2) friends using it. I've been using it for about a week now and it's pretty cool. The UX is the best aspect I'd say. The primary focus or feed of content seems to be from online news. Which is no surprise since Flipboard's revenue is heavily based on making deals with big content creators (news sites). Tweets do pop up but not very frequently. Flipboard has also been at it for quite a while. It's 6 years already and the company running it has raised over $200M. In 2014 it bought a company called Zite (originally Worio) for about $60M. Zite had a superior recommender system engine which Flipboard then integrated. Zite was then shut down. The Zite/Worio engine was a tag-based search-contextual website recommender system. Here is a blog post by Zite covering on a high level how their recommendation system works.
  • Pocket It's an app/service where you put things in your "pocket" to read or watch later when you got the time. Pocket has a pretty damn good recommender engine from what I've observed myself. I have not yet been able to find any information on the recommender system they use.
  • TweetDeck. An app more targeted towards managing multiple Twitter accounts. Originally an individual project (started 2008) but then acquired by Twitter 2011. No recommender features that I could see beyond what Twitter already does.
  • News360. An app not unsimilar to Flipboard but with less emphasis on magazine style UI. The onboarding process is really good. You have few options. What I did was to pick few predefined categories as well as linking my Facebook and Twitter accounts. It's an endless scrolling list of things you can tick. There were few very relevant categories picked up from Twitter. Our approach was not about to select predefined categories but seeing this app makes me wonder if we should do it, only if it were to jumpstart the recommender system so to speak. After about 2-3 weeks of use the recommendations are fairly good. A really nice feature is that the app provides a generated summary if you want to get the gist of the article. The summaries I read where decent, not anything stunning but better than nothing!
  • Paper. Facebook's attempt to compete with the above products. It's a React Native app that takes UX cues from Flipboard and Snapchat. It's attempting basically to be what Flipboard is but integrate it into the Facebook experience. For example you see a mix of posts, pictures, and likes by friends. In addition you see friend requests and chats on Messenger. Overall I found the user experience to be awful. I couldn't get the hang of navigating so using it was always a struggle. Think of it as a glorified Facebook feed with some additional news article injections. I didn't find any of the recommendations any helpful.
  • Medium. The company the old CEO of Twitter created. It's a modern blogging platform. I've read a lot of blogs on it but supposedly it has a recommendation engine as well. Haven't had too much time to use it yet.
  • Techmeme. Technology news aggregator website that has been around since 2005 (company of 14). Most of the staff are curator editors. No personalisation. Seems to be fairly popular, Twitter account is active (publishes new articles) and has about 300K followers.

Find suitable databases

In this issue I note in a ad-hoc way things of relevance to selecting our database. It can be summarised as follows: I think our most suitable databases are RethinkDB or PostgreSQL (or some combination of those).

Requirements

We require a database for two main purposes:

  • store results from observations from iOS client (interaction events)
  • storing results from user evaluations
  • storing a cache of tweets to work around the Twitter API rate limits

What ever our selection will be there must be good support for writing our DB interfacing code in Python.

Potential document DB candidates:

  • CrateIO
  • MongoDB
  • Couchbase
  • RethinkDB
  • Redis

Potential relational DB candidates:

  • PostgreSQL
  • MySQL

Notes

This issue tracks notes on what data stores might suit us best.

http://www.stackoverkill.com/ranking/sql-nosql

By mentions on Stack Overflow MongoDB dwarfs the other NoSQL DBs. Next up comes Redis and Cassandra.

List of document databases on Wikipedia: https://en.wikipedia.org/wiki/Document-oriented_database#Implementations

Popular NoSQL databases by GitHub stars

  1. Redis: 18,590
  2. RethinkDB: 14,419
  3. MongoDB: 9,558
  4. PouchDB: 6,462
  5. Titan: 3,791
  6. FlockDB: 2,875
  7. NEO4J: 2,749
  8. CouchDB: 2,572

and more

Compose https://www.compose.io/

Public cloud service to host various databases:

  • MongoDB
  • ElasticSearch
  • RethinkDB
  • Redis
  • ETCD
  • RabbitMQ

Document Databases

CrateIO

Didn't dive deep into it. A share-nothing document database that seems to be designed for containerised environments (Docker).

https://en.wikipedia.org/wiki/CrateIO
https://crate.io/

ElasticSearch

Originally I thought this was only a search engine but apparently it's a document database as well. The official website contains only ambiguous and general marketing material.

This video gave me a pretty good quick start picture of what ElasticSearch is and how you do basic queries:
https://www.youtube.com/watch?v=60UsHHsKyN4

RethinkDB

A realtime document database that pushes changes to clients. Native driver languages: Ruby, Python, Java, and JavaScript. From what I've read I've only good impressions. Documentation is good, second most starred database on GitHub, after Redis.

MongoDB

Redis

Probably not what we are looking for. Redis is a fast in-memory key-value store, not a document database.

Relational Databases

On first glance we think that a relational database might be the best option to store the results from user evaluations as well as interaction observations.

Originally we aimed for a document DB to store the tweet cache (JSON). However on further investigation it seems relational databases have been adding support for JSON over the years. If the support is good enough it would probably be best to use one database instead of two.

PostgreSQL

PostgreSQL has had JSON support since version 9.2. In version 9.5 support was added to modify JSON in place.

JSON data type: https://www.postgresql.org/docs/9.5/static/datatype-json.html
JSON functions: https://www.postgresql.org/docs/9.5/static/functions-json.html

Resources

Rob Conery - Document Storage Techniques with PostgreSQL and JSONB

Link: https://www.youtube.com/watch?v=rg_GiOZ5Owk

Summary: With recent addition of JSON support to PostgreSQL it has now acquired one of the main benefit of NoSQL databases, get started fast. He takes an example that the appeal of NoSQL is that you don't have to worry about the schema'a right away. To get going fast, just add a column or a table with JSONB (JSON Binary representation) and store the information you need. As time goes on and you need to access the data you slowly normalise the data into tables over time.

Is PostgreSQL Your Next JSON Database?

Link: https://www.compose.io/articles/is-postgresql-your-next-json-database/

Summary: PostgreSQL is nice if we are not changing the JSON a lot. If we are, a document database would be more suitable. According to this blog you can't update JSON fields in place, you have to have some external (Python) code to take it out, add it, then dump it all in again.

MySQL

Todo.

References

Document databases, Wikipedia: https://en.wikipedia.org/wiki/Document-oriented_database

Evaluation Research

Issue for documenting potential avenues for evaluations.

Findings

Twitter's recommendation system is only available in the official mobile clients. It's not accessible through the Twitter API. This poses a problem for our evaluation strategy. Originally we were going to compare tweets suggested by Twitter against tweets recommended by us. As of now we are not sure how we will proceed, more research required.

Blog week 8

Deadline: 2016-07-04 17:00.

  • Draft blog blog
  • Get team members feedback
  • Finalize blog
  • Upload blog post to GitHub Pages
  • Submit blog on Moodle

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.