Built with RethinkDB: secure note-taking app Turtl

Turtl is an open source note-taking application built with RethinkDB. It uses encryption to protect user content, which can include notes, passwords, bookmarks, and images. Turtl is the creation of developer Andrew Lyon. Users can download the source code and run their own instance of the application, or they can register an account on a hosted service operated by Andrew’s independent software company.

Turtl’s API backend is implemented in Common Lisp, with an intriguing stack that Andrew largely built himself. He created his own asynchronous HTTP server framework called Wookie, which is powered by an event-driven asynchronous IO library that he wrote on top of Node’s libuv. He also made his own Common Lisp RethinkDB client driver, which the Turtl backend uses to communicate with a RethinkDB cluster for data persistence.

Read the full post

How Angular is reinventing itself with version 2 and TypeScript

AngularJS began to gain serious traction in 2012, attracting significant popularity as it cut through the noise in the crowded frontend framework landscape. Angular enthusiasm was quick to wane, however, as the framework fell victim to the trough of disillusionment that sits on the other side of the hype cycle. React is the new darling, perched on the peak of inflated expectations where it will likely be displaced by some shiny thing that comes along in the future.

The original AngularJS offered some good ideas, but it wasn’t a very good framework in practice. Its successor, Angular 2, addresses many shortcomings while retaining many of the strengths that made the original framework popular. With the benefit of a clean break, the developers behind Angular 2 were able to exorcise many of the framework’s most pernicious demons.

Read the full post

Using the official RethinkDB Java driver in other JVM languages

When we released our official Java client driver earlier this month, we highlighted the opportunity that it presents for developers who want to use RethinkDB in other popular languages for the Java virtual machine.

In some JVM languages, our new client driver works right out of the box. In other languages, there are some roadblocks that will require third-party shims and other integration efforts. In this blog post, we will look at how you can use the driver today in a selection of popular JVM languages, including Scala, Clojure, Groovy, and Kotlin.

Read the full post

Socket.io inspection techniques to simplify realtime app debugging

I recently built a poll application that updates a pie graph in realtime as users place their votes. When I first tested the application, the vote counts didn’t update as expected. As is often the case when debugging realtime web applications, it wasn’t immediately obvious whether the underlying glitch was on the client or the server. In many cases, the complexity of propagating events across that boundary creates subtle problems that are hard to spot. Compared to conventional HTTP API endpoints, WebSocket connections can seem terribly opaque.

During my recent struggle to vanquish the very vexing bug in my Socket.io vote application, I took a moment to meander through the landscape of WebSocket debugging tools. I discovered a few ways to lift the lid off a Socket.io connection and shed some light on the messages exchanged between client and server. With the benefit of my newfound tricks, I discovered that my application wasn’t picking up the updates on the client side due to a simple typo in the Socket.io message name. I quickly quashed the belligerent bug and got back to work. This blog post offers a quick look at a few of the techniques that I discovered along the way.

Read the full post

Introducing the official RethinkDB Java client driver

Today, we’re pleased to announce the release of our Java client driver for RethinkDB. Visit the installation instructions for details about how to use it in your Java project.

With this release, we now officially support Java for RethinkDB application development, alongside Python, Ruby, and JavaScript. The Java client driver is fully-featured. It’s built on RethinkDB’s modern JSON wire protocol and supports the latest capabilities introduced in RethinkDB 2.2. It is designed for use with Java 8 because it uses the language’s shiny new anonymous function syntax to deliver the expressiveness that developers expect from ReQL.

The client driver is a library that implements RethinkDB’s ReQL query language and provides support for connecting to a RethinkDB cluster. Java developers can use RethinkDB to build realtime web applications. You can perform queries and receive live updates as the output changes.

Read the full post
prev Older posts