Author Archives: Darian Shimy
WebSockets that Reconnect
Here is a JavaScript sample of a WebSocket that will try to reconnect every second if the connection is lost to the server. This is completely transparent to the end-user. function WS() { var _self = this; this.start = function() … Continue reading
Passenger and ruby-oci8 (Oracle)
Oracle is going to drive a man to drink. After getting our rake migrations to run with this solution, our application had issues. We run our Rails app in Passenger + Apache2. After we deployed, we got this error: ERROR: … Continue reading
RabbitMQ on OS X via MacPorts
MacPorts installs an old version of RabbitMQ. To get the latest, you need to add the RabbitMQ repository as described here: http://www.rabbitmq.com/macports.html However, when you try and install it, it throws the following error: $ sudo port install rabbitmq-server Error: … Continue reading
ruby-oci8 library problems
We started using Oracle with a Ruby on Rails 2.3.x project. I will say, it has been nothing but a pain. After getting the Oracle Instant Client installed and the ruby-oci library compiled, I kept hitting this error during the … Continue reading
Hot Potato – A Real-time Processing Framework
Today, I am happy to announce the availability of HotPotato. Hot Potato is an open source real-time processing framework written in Ruby. Originally designed to process the Twitter firehose at 3,000+ tweets per second, it has been extended to support … Continue reading
Signal Handling
A signal is a way to notify a process of an event from another process. A signal handler allows one execute code when a signal is received. For example, the most common signal sent from the command-line is SIGINT via … Continue reading
EventMachine Process Control
A while ago I wrote a pilot project for a real-time twitter analysis tool using eventmachine and websockets. It worked perfectly, but there were questions how to deploy it to production. Specifically, how to handle process management, logging, configuration, deployment, … Continue reading
Efficient Real-Time Memory De-duplication
De-duplication is the process of removing duplicates from a collection. Hashes and bloom filters are common tools to use when implementing de-duplication, however, there are times when these are not fast enough. It is fairly simple to implement a memory … Continue reading
Sinaglo – A Sinatra-based Blog backed by MongoDB
I will say, I love the simplicity of Sinatra and MongoDB and Sinaglo is a great way to demonstrate Sinatra and MongoDB working together for a semi-useful application. Sinaglo is everything you need and nothing you don’t. This started out as a project … Continue reading
Rails 2.3.8 Deprecation Warning
If you happen to come across the following deprecation warning: DEPRECATION WARNING: Giving :session_key to SessionStore is deprecated, please use :key instead. (called from new at /Users/dshimy/.rvm/gems/ruby-1.8.7-p249/gems/actionpack-2.3.8/lib/action_controller/middleware_stack.rb:72) Take a look at your config/environment.rb file for the following: config.action_controller.session = { … Continue reading
