Data science on the iPad with RethinkDB and Pythonista

Pythonista is an iOS application that brings Python development to Apple’s mobile devices. It includes a built-in Python runtime, an interactive REPL console, and a text editor with features like syntax highlighting and autocompletion. It also comes with its own canvas system and user interface toolkit, offering developers a way to build games and simple graphical applications.

In addition to the standard Python libraries, Pythonista bundles some useful extras that extend its functionality. For example, it comes with NumPy and matplotlib, which support scientific computing and advanced graphing. It also comes with a set of libraries that expose native platform and device capabilities, including geolocation and the system camera.

Used to its full potential, Pythonista is a surprisingly capable environment for mobile data science. I can use Pythonista on my iPad to crunch numbers at the coffee shop or on my living room couch. I couldn’t resist the temptation to add RethinkDB to the mix, giving me backend persistence and expressive queries.

Read the full post

Batch image uploading with Amazon S3 and RethinkDB

Many applications provide a way to upload images, offering users a convenient way to share photos and other rich content. Driven in part by the ubiquity of built-in cameras on smartphones, image uploading is practically expected in any application with social or messaging features. Fortunately, cloud-based hosting services like Amazon’s S3 can shoulder the burden of storing large amounts of user-generated content.

Of course, you can also use RethinkDB to store thumbnails, important image metadata, and application-specific details about your S3 uploads. In this tutorial, I’ll demonstrate how to handle batch image uploading with Amazon S3 and RethinkDB. The demo application puts full-sized images in an Amazon S3 bucket while using RethinkDB to store image metadata and small thumbnails. I’m also going to show you some useful techniques for building a good frontend image uploading experience on the web, featuring drag-and-drop support and a live progress bar.

Read the full post

Building a realtime API with RethinkDB and Pushpin

Justin Karneges is the founder of Fanout. This post originally appeared on the Fanout blog.

RethinkDB is a modern NoSQL database that makes it easy to build realtime web services. One of its standout features is called Changefeeds. Applications can query tables for ongoing changes, and RethinkDB will push any changes to applications as they happen. The Changefeeds feature is interesting for many reasons:

  • You don’t need a separate message queue to wake up workers that operate on new data.
  • Database writes made from anywhere will propagate out as changes. Use the RethinkDB dashboard to muck with data? Run a migration script? Listeners will hear about it.
  • Filtering/squashing of change events within RethinkDB. In many cases it may be easier to filter events using ReQL than using a message queue and filtering workers.

This makes RethinkDB a compelling part of a realtime web service stack. In this article, we’ll describe how to use RethinkDB to implement a leaderboard API with realtime updates. Emphasis on API. Unlike other leaderboard examples you may have seen elsewhere, the focus here will be to create a clean API definition and use RethinkDB as part of the implementation. If you’re not sure what it means for an API to have realtime capabilities, check out this guide.

Read the full post

Build a realtime liveblog with RethinkDB and PubNub

RethinkDB provides a persistence layer for realtime web applications, but the rest of the stack is up to you. A number of different frameworks and services are available to help you convey individual realtime updates to your application’s frontend.

In this blog post, I’ll demonstrate to use RethinkDB with PubNub, a service that provides hosting for realtime message streams. You can build realtime web application with PubNub and RethinkDB, taking advantage of PubNub’s cloud infrastructure to simplify development and scalability. To demonstrate how you can use PubNub with RethinkDB changefeeds, I’ll show you how to build a simple liveblog application.

Read the full post

Use RethinkDB with LoopBack and Meteor

Now that RethinkDB is ready for adoption in production environments, a growing number of developers are working to integrate it with their favorite backend frameworks. We’ve seen several particularly promising integrations emerge over the past few weeks.

Meteor integration

Meteor developer Slava Kim published a video on YouTube that demonstrates his proof-of-concept bridge between Meteor and RethinkDB. Meteor is a full-stack JavaScript framework for realtime application development. One of Meteor’s key features is that it gives developers uniform methods for querying data on both the client and server.

Read the full post
prev Older posts Newer posts next