Developer Preview: RethinkDB now available for Windows

We’re pleased to announce today that RethinkDB is now available for Windows. You can download a Developer Preview of our Windows build, which runs natively on Microsoft’s operating system.

Support for Windows is one of the features most frequently requested by RethinkDB users. We launched an ambitious engineering project to port RethinkDB to Windows–an undertaking that required a year of intensive development, touching nearly every part of the database.

To try today’s Developer Preview, simply download RethinkDB as an executable and run it on a Windows machine. We’re making the preview available today so that our users can start exploring RethinkDB on Windows and help us test it in the real world. You shouldn’t trust it with your data or use it in production environments yet. It’s also not fully optimized, so you might not get the same performance that you would from a stable release.

Read the full post

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
prev Older posts