Showing posts tagged with open source

in google, api, remote, open source, project

I was recently tasked with making a simple drop a pin style application that integrates with Google Maps to visually represent locations of remote team members. I started work on that project today - I've called it remote.

remote is written in Python (shocker, right?) using Flask (full of surprises here). It's backed with a standard MySQL database that consists of a single table to hold the latitude, longitude, and name for each pin.

The app its self consists of just a few endpoints, /get to get a list of existing pins, /add to add a new pin, and / which displays the index page.

The index page of a sample install

The index page is not pretty by any means, I kind of left it this way so it would be easy for you to do what you want. The City/State/Country box links right into Google's Geocoding API so its relatively smart, it will take just about any input and convert it into coordinates.

Once you hit "Add Pin" a request is fired off to /add to add the new pin to the database, and then the map is refreshed with an updated list from /get.

I'm not sure if it would be worthwhile to add the ability to delete a pin - it seems like that would be messy because I would need to track who "owns" a pin, so for the time being that hasn't been implemented.

remote is 100% open source, you can view the repo here. I'll likely be cleaning it up quite a bit in the coming days, but it works as it is, feel free to clone it and give it a whirl!

in open source, project, ptpb, pastebin, python, flask

I've tried a few different times to make a decent command line pastebin - each ended up being super bloated and slow. I think I've finally succeeded in that goal though - with the help of Zack Buhman I made ptpb.

ptpb is ultralight, ultrafast and feature rich. It is written entirely in Python and is completely open source. I'm a big advocate for keeping your own data, so I wanted to make sure ptpb could be deployed by anybody who wants to roll their own version of it so I/we have written detailed deployment instructions in the repo.

A quick overview of things ptpb can do:

  • Make pastes (obviously)
  • Edit pastes (using a UUID that is given to you when you make a paste, secure and easy)
  • Handle all types of data (images, documents, pdf's, bits in bits out)
  • Display all types of data (append the extension and your browser does the rest)
  • Render different types of text with syntax highlighting
  • Forced SSL everywhere

Thanks to Zack, this is all done extremely quickly and in a (relatively) light fashion. My latest tests show ptpb outperforming all of the major competitors in this realm (ix.io, sprunge.us).

I'm super pumped about this project - give it a whirl!