Troubleshooting a Mongoid Connection Issue

I’ve been struggling with an issue for a while now regarding Mongoid connections just freezing when the host is not on localhost. I’ve tried posting this on stack overflow and GitHub, but haven’t really gotten anywhere.

I’m now trying to dive into the issue using GDB directly, which I’m starting off following the NewRelic blog post about debugging hung Ruby processes.

First, once the process is frozen, I connect using:

sudo gdb -p <pid>

and then tried to get some info from the C-level backtraces via:

(gdb) t a a bt

This resulted in a lot of information that didn’t really help me (at least not immediately):

Read on →

Accessing a running process' STDOUT

I’m currently doing a lot of scripting at work. Although the primary environment is Windows, I have to manage some Linux processes as well.

One example is a series of PowerShell scripts I’ve written which abstract away various ETL tasks that we need in order to get legacy data extracted, updated and inserted into other databases.

Read on →

Final Rewrites Over 50% Done

Last Updated:

This is just a quick post to update everyone that chapters 1, 2 and 3 of Redmine Plugin Extension and Development have been submitted to Packt with final revisions. Chapter 8 as well as the Appendix were accepted after the initial round of rewrites, so that means 4 MORE CHAPTERS TO GO!!!

Clearly I didn’t meet the target I hinted at in my last post, but it was Family Day here so I took the family away for the long weekend to go skating on the Rideau Canal in Ottawa :)

First Round of Rewrites Completed!

Last Updated:

This is just a quick update that I’ve finally finished the first round of rewrites for the upcoming Redmine Plugin Extension and Development book.

The issue I was struggling with was little more than a complete lack of motivation. Since I work full time and do contract development on the side (plus have a wife and kids), yet another distraction can be difficult to find time for; especially if it’s not a primary source of income.

Packt Publishing has been very patient with me though so I’m going to try to find the time in the coming week to get through the second round of revisions and rewrites and hopefully get this puppy to market ;)

My First Book: Almost Ready for Production

For the last 4 months I’ve been working with Packt Publishing on a book about Redmine plugin extension and development.

Although it likely won’t be ready until February 2014, the book is now available for pre-order on Packt’s site.

Since the book is almost through the first stage of rewrites, I though it might be a good idea to start documenting the process.

What I’m going to write about initially are my first impressions on writing a book, as well as a few notes (which may sound like complaints) about what I did “wrong” and could improve upon in the future.

Read on →

Fetching Changesets in Redmine from Heroku using Subversion

[NOTE: The method described below should still work, but it’s much easier to just use a Heroku buildpack (see this post for details)]

I manage my open source and contract development projects using Redmine.

Since I’m “frugal”, I tend to try to push the free hosting envelope as far as possible. As a result, I have my Redmine deployment on Heroku, my files and attachments on Dropbox and my source on GitHub.

I also like to link to changesets in my projects, which is easy enough to do when you host the source and the Redmine server on the same machine.

Not so easy with Heroku+GitHub …. until now!

By the end of this tutorial, we will have:

  • Setup a build system using Vagrant that matches the Heroku hosting environment
  • Compiled a statically linked Subversion client
  • Added the svn client to our Redmine repository and pushed it to Heroku
  • Configured a project in Redmine to fetch changesets from GitHub using Subversion
Read on →