We Love Books!

March 27, 2013 • Damien White

We Love Books And We Know You Do As Well…

As you may or may not know, Visoft has quietly released websites for book lovers. Back in 2010, I fell in love with Ruby on Rails. The first Rails application that I worked on was one to help me keep track of my ever growing book collection. Thus the first book related website was launched, Developer’s Bookcase or DevBookcase for short. As you may guess, my book collection is mainly programming related, so I started the site for me and other geeks to keep track of our programming books. I have hundreds, how about you?

Why So Quiet?

Back in 2010, I was really just hacking around. I was really venturing into an entirely new world. Ruby, Rails, Linux, OS X, etc. If you know me, you’re probably wondering about the Linux and OS X there. Yes, I’ve really made a big shift in things, but that’s for another post. Anyway, at that point, the site was really just a big test. I kept hacking away adding things here and there, experimenting with this and that. You may have seen posts that indicated that I was playing more and more with Rails, like my gem issue, and my mongrel issue. Those were early on. I was using Rails 2.3.x and I was messing with shared hosting (yuck). Things worked, but I wasn’t confident, mainly because I had to bump my nose a bit to learn the ropes. Anyway, long story short, I got distracted…

EageReader

While hacking along, my avid reader of a wife was jealous of DevBookcase. She has hundreds of books as well, but she’s normal, not a geek like me, thus her books didn’t fit into the DevBookcase “bucket.” What was I to do? I cloned DevBookcase and created EageReader (pronounced Eager-reader) for the non-programming-geek reader. Well, long story short, managing two sites the way I had (two separate projects, but simply copied code) got to be a huge pain. I needed to do something different.

Rails 3, New Servers, More Experience

Rails 3 was released during my goofing around (August 29, 2010 according to Wikipedia). There were big changes from Rails 2.3, but Rails 3.1 brought about the biggest changes. The asset pipeline, CoffeeScript, etc., but I digress.

With the new versions of Rails being released, I thought it was a key time to re-engineer my “hack” into something more maintainable. What I ended up doing was breaking out the key functionality of the two sites (DevBookcase and EageReader) and built a pseudo Rails engine, which is really a beefed up plugin. All the code is packaged into a gem and used in two projects for the individual sites. All the functionality, including just about every controller and view are bundled into the “Bookcase” gem. I find it pretty nice. The only work that happens in the DevBookcase and EageReader projects is just customizations like styles and whatnot.

With the switch to Rails 3.1, I abandoned shared hosting for a couple of reasons. The first is that cPanel doesn’t support Rails 3 (though there are ways to get it to work). It may be supported now, but I don’t believe many hosts support it still (sad). The second reason is that shared hosting isn’t ideal; it is more headache than it’s worth. Since leaving shared hosting in the dust, I’ve moved to VPS hosting. Now I’m able to install whatever version of Rails that I want to, and I don’t have to contend with all the restrictions of shared hosting. I have been with a few different VPS hosts. There are so many out there. I have been pretty happy with ChicagoVPS. If you decide to give them a try, I would appreciate you using my affiliate link.

Features So Far

DevBookcase/EageReader use Amazon to get book information. To add a book, you need to either know the ISBN, the ASIN, or you can do a simple search (fairly new feature) against Amazon.

Note: The screenshots below are from DevBookcase. You’ll find the UI looks pretty similar in EageReader.

Once you add a book to your collection, you’ll be able to add tags (that you can use for filtering)

You are able to easily manage books in your collection (and see how many users have that book in their collection), as well as give the books ratings.

Other collection options include the ability to add private notes about a book, and the ability to review books.

Those are just some of things you’ll find on the sites. I encourage you to sign-up and start adding to your collection. I think you’ll find the sites useful. We’ll be adding more features as time goes on based on our own ideas and feedback from our users. Membership is free. We hate spam, etc. and will never, ever sell any of your information. We don’t require much for you to sign-up and you can cancel your account at anytime. So what are you waiting for? Go ahead and sign up for DevBookcase or sign up for EageReader. Of course, you could always sign up for both!

FYI: The sites don’t limit the books you can add. We would ask that you keep DevBookcase focused on “geeky” sorts of books, and anything goes on EageReader. Both sites are separate, so you’ll need two accounts. This may change in the future.

Far From Perfect

No software in my mind is ever “finished.” Software is a living, breathing thing. There are seemingly endless tweaks, features, etc. As a developer, that feeling is the hardest to overcome. That feeling caused me to only tell certain people about the project, but not announce it with grand fanfare. Anyway, that time is over. I know there is still work do, features to add, etc., but I think the sites are useful. I often forget what books I have and refer to the sites to check on what I own. If you find anything in either site that is a problem, or if you have a suggestion on making it better, I suggest you email <admin@devbookcase.com> or hit @DevBookcase up on Twitter. You can also hit us up on Facebook or on the Visoft, Inc. website

I am a software architect with over 15 years of experience. I simply love coding! I have a driving passion for computers and software development, and a thirst for knowledge that just cannot be quenched. I'm happy to share what I knows in my quest to learn as much as possible. I focus most of my time on web development using Ruby on Rails and ASP.NET MVC.