my little corner of the interwebs

Pipe Command Output to Logentries

| Comments

I’ve been using Logentries for a couple of months now to manage variou project logs and have found it to be extremely convenient.

If you want to retrofit a crontab or any other process to use the Logentries Token-TCP type log, just do the following:

COMMAND | while read -r line; do echo "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee $line" > /dev/tcp/; done

Where aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee is your log token, and COMMAND is whatever your like.

For example:

lsblk | while read -r line; do echo "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee $line" > /dev/tcp/; done

Hopefully this helps someone other than myself :)

First Royalty Statement

| Comments

Just a quick update on Redmine Plugin Extension and Development. I received my first royalty statement today, which basically just inidicates that not enough books have sold to exceed the advance I received initially.

(I probably didn’t need to redact anything from the image, but it seemed appropriate.)

The deal I had with Packt was that they’d front me $600 against future sales, of which my cut is (I believe) ~ 16% of the list price.

Still a ways to go (sales-wise) before I would consider this a “profitable” venture, but it’s nice to see that there is at least some initial interest.

I was approached by Packt a little while back to author another book, but based on the amount of time I invested in this one as well as the sales figures I’m sharing here, I don’t think it would be a good choice :P

Should I consider writing another book? Any thoughts out there from my fellow denizens of the interwebs?

Troubleshooting a Mongoid Connection Issue

| Comments

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):

Accessing a running process’ STDOUT

| Comments

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 tha we need in order to get legacy data extracted, updated and inserted into other databases.

Production Timeline

| Comments

Well, it’s been a long (longer than anticipated) journey, but Redmine Plugin Extension and Development (code number 8748OS) is in the final stages of production.

Since I wanted to share a bit more detail about what went into the production of this book, I’m attaching a (slightly edited) copy of the production timeline I received from my Technial Editor.

Final Rewrites Over 50% Done

| Comments

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!

| Comments

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 ;)