Figuring out when something has gone wrong with your app or site is extremely difficult. Anomaly detection was a major theme among speakers this year at Monitorama, an open source monitoring conference. You can create trends based on historical data means trends, and those trends can be extrapolated into predictions of traffic patterns. When live traffic deviates from the prediction, you can try to detect if it is a true anomaly or not.
One of the hardest problems in anomaly detection systems is trying to avoid false positives — you don’t want to be woken up at 2 a.m. to fix a problem when nothing is actually broken in the product. This often leads to a phenomenon called “alert fatigue” where the on-call developer ignores noisy notifications, allowing for real events to sneak through undetected.
At Tagged, we embrace open source as part of our engineering culture, always looking for ways to best support our own products while also sharing what we learn with the outside world.
Now, as we shift to a smartphone-oriented world, Tagged pivots its strategy to focus more on native mobile platforms. With this focus in mind, we are happy to introduce two of Tagged’s latest contributions to the open-source community: iOS-cat-scroller and iOS-voting-stack. Continue Reading
Over at PC World, Joab Jackson, wrote an article on five open-source technologies to watch for in 2012 and Stig, our upcoming open-source graph database, was included! We’re featured along with Nginx, OpenStack, Linux Mint, and Gluster.
Stig is still a bit of a mystery, as it hasn’t been actually released yet. But observers are predicting it could fit a niche in the social networks and other applications that keep a wide range of data. The needs of social networking services are inherently different from other types of jobs, and would benefit from a database attuned to its needs, Lucas explained. “You can’t be a relevant service in this space without being able to scale to a planetary size,” he said.
Check out the entire article here and sign up for our newsletter over at stigdb.org for more information on when we launch!
Here at Tagged we use memcached extensively with our PHP layer, primarily to store compressed, serialized PHP Objects. I’ve been working on a project that utilizes Node.js to interact with these objects in memcached and I’ve run into a few issues since the PHP memcached extension compresses objects above a certain size and the Node.js memcached library doesn’t support compression. Fixing this issue was not as simple as just compressing the data before putting it in memcached or decompressing the data that comes back from memcached.
The issue is how Node.js handled strings with bytes above the regular ascii range. The Node.js memcached library used strings to read data coming back from memcached, however when a byte was encountered that was not in the regular ascii range the byte would be converted into an UTF8 error byte sequence. In addition, the memcached flags indicating the data was compressed had to be properly set.
Tip: To avoid problems when dealing with buffers with non-ascii bytes, keep it as a buffer as long as possible. If necessary, the buffer can be converted to a string using the ‘binary’ protocol. However, if something is appended to this string, the non-ascii bytes will get converted to UTF8 error byte sequences. Hence, if something is added to this string, it should be converted back to a buffer and the necessary bytes should be appended.
With this in mind, I helped create this Node.js memcached library to solve these issues. It is useful to anyone who wants to use compression with memcached in node, as there are currently no other memcached libraries for Node.js that support compression. This is also useful for people who want to be able to have Node.js applications that are interoperable with the same memcached stores as their PHP applications.
Let me know what you think and please post any questions you may have! This is just one of the many issues with memcached and Node.js we’ve encountered and solved along the way. As we continue to use these technologies more extensively, we will be able to share more project stories, tips and tricks on how to use them efficiently. Stay tuned.
Nalin DeZoysa is a Software Engineer at Tagged and you can follow this project on Github.
We’re excited to announce that Tagged is now on Github, the web-based distributed version control system.
You can follow some of the projects our engineers are contributing to such as a Node-Kafka, a node client for Kafka, LinkedIn’s disk based message queue, JHM, an Intelligent build system we’re developing here at Tagged and many more projects to come in the future. We’ll be writing about how we’re using open-source projects here on our blog.
We’re excited to work with and give back to the open-source community. Follow all the projects we’re contributing to here – https://github.com/tagged