TigerTech…Silly Name, Great Service

I mentioned way back in my first post that I host this site with TigerTech, based on Matt Cutt’s recommendation (Or more like a throw away comment on who his site is hosted through). TigerTech is fairly inexpensive, though they use that awful ‘unlimited bandwidth’ moniker on their site (Though after reading through their faq they at least explain it’s not unlimited). Since I started it, hadn’t really noticed any issues until the other day.

I came to the site to check on a few settings, and found access horridly slow. I mean, minute long load times to go past a white screen slow. So slow that I think a snail passed by it on the information superhighway. I don’t know if I can come up with any more analogies to how slow it was, but needless to say it was slow.

I contacted them, secretly hoping it wasn’t my site causing the slow down. Turns out they ad noticed a high load on my server and were investigating it. Pretty standard answer to problems like this from a shared host, but it was what they said after that that surprised me: ‘For the inconvenience, you will not have to pay the July or August fee’. Wait a minute, hold on…2 months free for a slow down on the site? That is pretty well unheard for a site that costs me 7.95 a month. What shocked me further though is they contacted me a couple of times after I contacted them to keep me up on what was going on.

I can now say that TigerTech is a great company, and really worth what you pay. They have done something no other host has ever done: Impress me by being up front, and proactive. Check them out.

Skribit Added

If you look at the sidebar, you will see something new has appeared (Well, two new things, but let’s focus on one of those). That over there is what is called Skribit and basically it allows my readers (If I have any of those yet) to suggest topics for me to talk about.

The first suggestion that comes with Skribit is to discuss why you are using Skribit. Really, the answer to that is simple: To get ideas.

I decided to start this blog to talk about things that are going on in my life, however I can only talk so much when living by that idea. What I would love is for readers to tell me “Hey, talk about X”, and if I know about X I can start to talk about it. So, not only does this give me something to write about it, maybe it will help someone out there because if one person is asking about it (Or suggesting it rather) there maybe others that want to know it as well.

With all that being said, feel free to suggest topics. My main areas of knowledge, aside from my life, is Ruby and Ruby on Rails, Lisp, tech topics (Gadgets, etc), even some writing topics (I am a bit of a writer, and you may get to see some of that stuff appear here). If I am not familiar with the topic, it might just stay in Skribit until I can find enough out about it to form an opinion, or I may delete it off (That is the only reason I will delete it, aside from obvious spam).

Are Ruby on Rails Developers Afraid of the Database?

I have to ask myself that question rather regularly. Databases can do an awful lot of stuff, including dealing with data integrity, some level of validations (Mostly that a field exists, that two fields are unique, etc, etc) and can rollback if there is a problem with a query. The problem, it seems, is that the people behind Ruby on Rails (And more specifically ActiveRecord) are truly afraid of the database, or barring that, just think of it as a place to stick data; an upgraded file system if you will.

Even with ActiveRecord 3, there have been a ton of changes: A much nicer API, lazy loading of database queries (IOW it only loads from the database when it’s required), and I’m sure a lot of tweaks under the hood, but still no native support for foreign key relationships, still AR needs to scan the database every time to find the columns, and still the need to subclass from it, vs just including it (I hate that; subclassing where it makes no sense is stupid). Oh and if you want a read/write master/slave setup, well forget it, that’s not there either.

This has been the one sticking point for me for the years I have worked with Rails, and ActiveRecord. I come from the world of enterprise development prior to Ruby on Rails. I used to handcode all the SQL queries, I used to take advantage of relationships, and views, and stored procedures, and I still would like to. In fact, stored procedures are a huge step towards data integrity, you only allow certain types of data in, and then the database takes care of the rest (Depending on how you program it). And views/materialized views are a huge help towards dealing with database server load.

So, what can one do if they want these features in AR? Well, there are some gems that sort of help. One to help out with building foreign keys from the migrations, one that helps do multiple databases, but those gems are few and far between.  Even the alternative ORMs out there for Ruby do not really address the more enterprise features, probably because they came out of a set of desires, and enterprise was not one of them. As I see it, there are only two other things that can be done: Bitch about it and hope it appears in another version of AR, or someone takes care of it or do something about it myself. I choose the latter.

This project has no name as of this moment, but I want to build a full ORM system for Ruby that will support what AR supports now (Lazy loading since I love lazy loading, a nice API), and that will offer support for some levels of clustering, as well as the more enterprisey features. Granted, this project is no small task, but I finally decided I want to delve into it just to further my knowledge of Ruby, and to maybe solve my own desires.

Review: DragonQuest IX

You are a Celestrian (Angel basically) out doing your job protecting your village. One day, after doing all kinds of good deeds, there is an earthquake and you fall back to the earth losing your wings and halo. What do you do?

That is the plot behind DragonQuest IX, which is the newest DragonQuest game and available on the Nintendo DS. While I normally do not talk about games or products, this game is so fantastic that I have to talk about it, just to put my voice in about it.

DragonQuest IX takes a slightly different approach to the RPG than do most of the games out on the market. Let’s look past the fact that the plot isn’t laden with angsty drama and androgynous teenagers, and look at the customization aspects of the game. In this game, you customize everything: Your character, your team (You pick your team members, as well as their jobs), everything. Heck, you can even customize your wardrobe by making your own gear. It’s different than most RPGs, and they manage to pull it off perfectly.

The story line too is really good. It’s one of those games where you want to know what’s going to happen next, but you don’t ever want it to end. There are very few games that elicit such a response, and sadly it seems that story comes second now, and everyone worries about graphics. I would actually like to see this story come together as a novel, just to get more backstory into it.

Now, graphics are good for DS. There are cutscenes, but they are pretty much just animated versions of the normal graphics which is fine considering it’s on the DS, so it doesn’t have a huge area for storage, or an amazing graphics card. The colors are bright, and the switch between day and night is fluid (And that does matter sometimes. Sometimes you have to do things at night, or sometimes in the day).

There are a couple of problems with the game though. The most glaring is that sometimes the translation leaves a little to be desired. This happens once in awhile, and it’s somewhat jarring to read “The enemies is defeated”. However, it’s not killing crucial points of the game (They even managed to translate the accents well) but it’s still there.

Overall, fantastic game. I remember the first DragonWarrior (That was what DragonQuest was originally called) and back then I remember giggling at some of the strange names they put on enemies, and that continues here (I mean, Meowgician? FunGhoul?). The story is great, customization is great. If you have a DS, and patience for an RPG, check it out, it’s worth it.

On RubyNet A Social Network For Rubyists

I haven’t really talked about RubyNet since I started thinking about it, and planning it about 2 years or so ago. I mainly didn’t speak about it because I hate the “Oh, I’m building X, it’s going to change the world” type posts you see all over the place for various and sundry sites. No, your site will probably not change the world, and not everyone wants to know about it. I have made some vague mentions of it as a project I was putzing with, and that was about it.

I figured I would talk about it today only because the reason that it got stuck in my head still puzzles me, and I have to articulate it just so that maybe it starts making sense to me. The whole idea was sort of started by a friend of mine, who is also a recruiter for RubyFocus. One day we were talking, and he mentioned how hard it is to find Ruby developers, and that struck me as kind of odd.

Ruby is not really an academic unknown language. Yes, Java has more recognition than does Ruby, as does the whole .Net framework, but Ruby is also not Lisp or Smalltalk, which are in production, but most do not know about them, or they know about them, but only in the history of computing. I don’t see Ruby like that, especially with the Ruby on Rails framework being as popular as it is.

It was, however, after that discussion that RubyNet was sort of formed. There are other sites to find Rubyists, including WorkingWithRails, and RubyNow but those are either under-used, or just out of date in terms of technology/userbase. Linked-In isn’t a bad resource, but then you either have to hope the person is in your network, or you can go through the layers of networks until you get in touch with them, and there the accomplishments can’t really be demonstrated (Yes, you can provide links but links don’t tell the whole story). You can also just throw an ad up on Craigslist and hope, but from what I have heard many of those get resumes from people who have never touched Ruby before. Dice.com…forget it, it’s loaded down with recruiters (I get 5-6 contacts a day from Dice.com, all recruiters I had never heard of before).

RubyNet aims to solve those problems. RubyNet is a social network, so picture Facebook for Rubyists, but I think it offers far more functionality than does Facebook. Some of the other features that are currently either planned, or developed as of this moment are:

  • Job posting. Yes, I know there are tons of places that this exists, but hey one more doesn’t hurt and if RubyNet can acheive any kind of critical mass, it might be a good place to look.
  • Resume hosting. Again, tons of places out there, but I also want to enable searching for skills/years of use of a technology. I think being able to search with a very fine granularity would be a huge benefit.
  • Rankings. WorkingWithRails offers this, but since WWR is under-used, the rankings really mean nothing. Besides, the rankings on RubyNet also take into account commits into projects, etc (Integration into Github for now).
  • A Mechanical Turk like system. Mechanical Turk is generally used for small projects, but I want to offer a similar service for larger projects as well. You find someone interested in building x or y, all the paperwork is done digitally and through the site, then the money is held in escrow until completion and it’s then paid out. Basically one stop shop to find freelancers.
  • Event/Group listings. A given I suppose, but the ability for groups and event planners to list their events or groups, sell tickets (Yes, I plan to offer ticket sales as well for an event) and get the word out about whatever the event or group is about.

Could you do this through Facebook? Well, some of it certainly, some of it not. Though I think somewhere for the Ruby community to congregate, and seek each other out is far more valuable than trying to adhoc something. Besides, unlike Facebook everything in RubyNet is privacy focused, down to encrypting content that is not publicly available so if something does go wrong, that content is never exposed in any meaningful way to a search engine.

RubyNet has no set launch date. It’s just me working on it currently, and I have a day to day job so the work is sporadic at best. I have contemplated seeking some sort of funding, but I haven’t really decided where to start nor who would even be remotely interested in funding such a thing. I’m sure there is someone out there that would be, and if someone reads this and is interested, contact me.

Hey Look It’s A Blog!

Indeed, it’s a blog. Well, it’s not just a blog, it’s my blog, but it’s still a blog.

I am Brian Bommarito (That was obvious though, wasn’t it? Domain name just happens to show that.) and I am a developer that currently resides near Detroit, which is located in the sometimes pretty, sometimes really annoying state of Michigan. I mostly work on Ruby on Rails stuff, currently for a company that is producing GolfTripGenius.

You may be wondering, why a blog, why now? Well, I have been meaning to actually start a blog, and keep it going for quite sometime now. I would love to put what I know, and learn, out there for those who wish to read it, but have never actually gotten around to it. Well, it’s probably less that I didn’t get around to it, and more that I am a perfectionist, and wanted to have the perfect host, the perfect software, the perfect content, etc, etc, etc. What that was causing though, the need for perfection, was me to basically never do anything about it.

That changed yesterday, however. Yesterday I was listening to Matt Cutts on the WordPress Podcast. He was basically going into some tips on dealing with Google on WordPress, and just chatting about his general love of WordPress. During the podcast, he was asked for suggestions on starting a blog, and he said: “Just start it”. Well, taking his advice, and just starting it.

There are other reasons that I have decided to start this now though. The first is I am doing a presentation at SunnyConf in September and it would be nice to have somewhere to throw slides up, or offer retractions if I say something really stupid during the presentation (I can guarantee I will say something stupid during the presentation in fact) and also for marketing purposes. Not marketing an E-Book on how to program Rails, but rather market myself, my skills, my knowledge. I’m at a point in my life, and career, where I need to start doing that more.

Well, there you have it, first post, and the reasons behind the blog plus some really awesome links for you to peruse. Hopefully you actually stick around, keep an eye on the site, and get something useful out of it.