Git Product home page Git Product logo

guns's Introduction

Hi there ๐Ÿ‘‹

My name is Elliot, I'm a Senior Software Engineer / Engineering Manager depending on where I'm needed. I'm currently working at ๐ŸŒžSunbeam๐Ÿ•ถ๏ธ as a Senior Software Engineer. Previously I was an Engineering Manager at ๐ŸŽตDICE๐Ÿ”ˆ, and before that at ๐Ÿ”Just Eat Takeaway.com๐Ÿฅ˜ .

I mostly work with Python and Elixir these days, although in the past I've also worked a lot with C# / .NET, NodeJS / JavaScript, and a bunch of cloud and distributed computing tech. I live in the United Kingdom and I work remote.

I tweet, blog, from time to time speak about all sorts. I also spend time working with those new to the tech industry through The Green Coder as well as mentoring.

guns's People

Contributors

bluehatbrit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

guns's Issues

Create smooth deployment pipeline

Currently we pump in the twitter keys through a command line argument. This is fine but it doesn't work so well for automated deployment to the server. It would be good if we could migrate these into environment variables perhaps. We still need a good way of getting these onto the server though, something I've not done much of in the past. Any ideas for managing environment variables on EC2 would be smashing.

Missing some reports due to double posting on the target site

We scrape the site once every minute from start up. This works fine but if two updates are posted between a scrape then the app will only tweet one. It would be good to get a more robust way of checking the incidents that we scrape. That way we can be sure we can get all the updates. It's also important we don't repeat ourselves though!

Add GVA credit to tweets

Gun Violence Archive would appreciate a shout out in the tweets. Preferably something like the example below, we need to be aware of the 140 character limit though.

This would be good for a beginner, it could simply be added in the TwitterReporter for now. Alternatively we could add it to the Incident class and pass it though.

Example they suggested:

Source: GVA

Filter out suicide events

It looks like quite a few suicides are coming through on the scraper, it would be a good idea to have some sort of content filter if possible that attempts to block the posting of suicide reports. They don't represent the issue correctly and so it would be useful to not add them to the posts.

This is the number 1 back lash we seem to be getting right now so it's worth fixing in the next few days.

Unit test coverage

Not too fussed about 100% coverage, that would be overkill for something so small, but it would be good to get a few tests going in the following areas.

  • - Scraper class could do with some coverage, we'll probably need to pull out the code that makes the web request to make this easier to test.
  • - IncidentStore needs a bit of testing. It interacts with the file system a lot so this will probably be more integration tests. The code is so thin that splitting it out would be pointless.
  • - Incident class, it's just a PORO for holding data but we've got some read only attributes so we may as well test those.

Integrate Raygun for error handling

Raygun.io have given me a free account to use for this bot on twitter. It would be good to add raygun as an optional error reporter that you can toggle on start up, this would mean we're not forcing it if someone doesn't have it.

Either way we need to get some basic raygun in there to allow error tracking easily!

They also want some credits in the readme which are sitting on an email I have but that's something I can easily do after the fact.

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.