Blog

Category Archives: Developers

Talk Nerdy to Me: How to Run Cassandra in a Container on OSX

Artboard_1 (1)

At AddThis we believe that we have the best geeks on the planet, and it’s our duty to share their knowledge and passion with the world. From time to time we hand the reins over to one of our teammates in a series we call, Talk Nerdy to Me.

Principal Software Engineer Otto Barnes is here to explain how to use containers to more efficiently run Cassandra on OSX. Take it away, Otto. 

Continue reading

Cocoa Touch Static Library vs. Cocoa Touch Framework

cocoa touch static library vs cocoa touch framework

At AddThis we have the best geeks on the planet, and it’s our duty to share their knowledge and passion with the world. From time to time we hand the reins over to one of our teammates in a series we call, Talk Nerdy to Me.

Principal Software Engineer Kirk Elliott’s first post, 7 Things to Consider When Making iOS and Android Apps with Cordova or PhoneGap, got a lot of love, so we’re excited to have him back. Kirk enjoys DJing in the Baltimore Club Music scene, tidy code frameworks, and definitely being called Cappin’ Kirk by his co-workers.

Continue reading

Announcing New Open Source Libraries: Cronus and Hermes

cronus-hermes

We are pleased to announce that we have open-sourced two additional AddThis libraries. Cronus is a lightweight cron Java library. Hermes is a programmable page speed measurement tool. The libraries have been released under the Apache License 2.0.

Cronus

Cronus accepts Vixie Cron syntax and schedules actions for execution. The cronus implementation is relatively small at under 5,000 lines of code. Much of its functionality relies on the excellent JSR 310 library in Java 8 to perform date/time calculations.

Continue reading

Machine Learning – Scale is Relative

computer_learning

Yesterday, Amazon Machine Learning was announced on the AWS Official Blog. It’s great to see more tools developed to improve the data science workflow. It’s enabling the Web to be much more personalized. Nvidia is doing it with DIGITS and Matlab has a toolbox too. The growth of tools supporting data science makes personalization better, more accessible to companies, and easier to scale. The better the tools, the better we can do on the job. But – as always – we need to keep the whole picture in mind and watch the trade offs.

Continue reading

Reliable, Low-Latency Request-Reply with ZeroMQ

zeromqZeroMQ is a cross-platform, cross-language library that provides high level wrappers around traditional low level network sockets. Some of its most helpful features include: sockets that automatically reconnect after connection failures, making hostname connection strings easy to work with, and providing sensible defaults for buffer sizes and other parameters. However, ZMQ goes a step further than just simplifying initialization and error handling. Instead of the standard send and receive socket functions, it supports several types of socket patterns that restrict which types of sockets can pair, send, receive, as well as the sequencing of send and receive calls. Continue reading

How to Join Data in Hydra

addthis-hydra

Hydra is great not only for continuously processing data streams, such as web logs, but also for tasks such as special data analysis, validation, troubleshooting, etc., that call for one-off jobs. Among the latter use cases, one of the more interesting and complicated cases is joining data sets. In this post, I’ll use an example to demonstrate how to join two data sets. Continue reading

The Case for a Stricter Flux

addthis-react-flux-javascript-scaling

With companies like Yahoo, AirBnB, Atlassian, and Github embracing React.js, I think it’s safe to say that Facebook has set a new standard in front-end development with this remarkable library. What drew me to React, at first, was its genius approach to rendering. What has kept me using it are things like propTypes, invariant, and the belief that it’s a library’s responsibility to yell at a developer when they are doing something wrong. Continue reading

Using Routie for React.js

addthis-react-flux-javascript-scaling

React is a great new Javascript framework for building fast, dynamic single-page websites. Paired with Flux, you can construct a single page application very quickly. But in a single page application, all of your content is available under a single, unchanging URL. That makes it harder to measure engagement per content, the user cannot easily return to an URL or share it without pointing to the homepage, and interpreting a user’s interaction can be murky if all the URLs are the same. Thus the need for routing within a React.js application. Continue reading