Monthly Archives: January 2014

Ruby Gems

I have been using Ruby for about two years now/ I have used various Gems throughout those years. I recently decided to look at more than just the popular gems out of curiosity. Sort of to see what is out there and what people are creating. While doing this I noticed that there is a lot of really crappy gems. Not only are there a lot of really crappy gems but some of them literally don’t do anything. They are just a stub when you run gem create [gemname]. I got to thinking why hasn’t Ruby put some system in place to verify that one the gems actually do something but two that they have some quality.

I feel that to fix this problem they need to implement  a rating system so if your gem gets voted down to much it should be removed. That name would then become available for others to use. A comparison I would make to this is the Android market. They have structure in place that at least makes you be semi serious about developing a good application. First you have to pay a fee to publish to the market. Now for Ruby gems that may not work because there is no profit being made off of these gems. More that Ruby gems needs to come up with some criteria that defines you to have the ability to create these gems. At the end of the day I’m sure it doesn’t matter that much but it’s annoying searching through a bunch of crap gems just to get to what you want. When you have been doing it long enough though you tend to know what are good gems and which ones are a waste of time.

Github ProTip

I recently noticed that Github changed their interface. They did a great job at making it faster and it actually looks more appealing. At least to me. I also noticed with their updates they added something called a ProTip at the bottom right before you make a comment.

If you see the attached image you will see what I am referring to. I think ProTip is a term that has just come up and is already being over used. I feel that if you use that term you are saying you are better than everyone else on that subject. You are considering yourself a pro. Which is fine but why do you have to tell me your a pro. If your really a pro won’t the context of what your saying be take as such. What’s the point in adding this on to a statement. I won’t read it unless your a pro. Also if you add ProTip in front of what your saying there is less of a chance of me reading it. Now every time I have to make a Github comment I get to see ProTip.



Android K-9 Mail

I have been using the K-9 mail application on Android for some time now. I have noticed that it has made some major improvements throughout the years. I would have to say that I am most impressed with their latest release. Their interface has always been subpar when you compared it to some applications on the market. For example the Google gmail application has always been really slick and interactive interface. Now with the latest release of K-9 which I downloaded yesterday on my phone seems to be catching up. They have updated their icons to be more modern. It also seems like they have spent a lot of time improving the interface and making it more usable. It’s always been a great application for managing multiple email providers and now it has a nice interface too.I would recommend this application to anyone who needs to manage multiple emails under one client.

Github Reliability

I have been using Github for work for the last couple of years. I have noticed that their service has been getting less and less reliable throughout the years. They are the leader when it comes to Git hosting. So it’s hard just to turn them off completely at this point. Plus I am using it at work so I don’t have much say in moving off of it. It’s sad to see it as overall their feature set is really good. They have been very innovative throughout the years. I have been very impressed by their pull request feature and many more. I have also been impressed by how easy they make Git. Saying that they have their own set of issues you have to deal with on a monthly basis. I have noticed more and more that they go down often.

It seems that at least once a month Github will go down for a small time period. This can range from a couple of minutes up to ten or so minutes. It’s never hours of downtime. They seem to respond to the issue fast and get it fixed. I feel that most downtime can be avoidable or should be worked at so it is avoidable. We don’t see Google services go down once a month. In the last couple of years I haven’t seen any Google services  I use to down at all even. Yes in the technology world unexpected things happen from time to time but it shouldn’t be every month. I think Github has forced us to at least think about other hosting providers.

One name that comes to mind is bitbucket. It seems that their feature set is also very rich but they may not have as many downtime issues as Github. I have never used their service but it seems to be gaining in popularity. I really hope to see Github be able to get it together but if not companies are going to have to start thinking about using other Git hosting solutions. It’s also possible to roll your own Git server but of course you won’t get all the rich features of these service platforms.

To be clear right now the best Git hosting service is Github. Even if it goes down a couple times a month. The intention of this post wasn’t to bash Github. I do feel they work hard to keep their service up. I just feel that some of their downtime could be avoided. That is of course without knowing their infrastructure.

Ruby Duck Typing

In Ruby duck typing means that it does not rely on the type of class. It’s more concerned about what the class can do. The object is only defined by what it can do and is not limited by a specific type. In Ruby if you need to find out if the object implements a specific method you can use the respond_to? method. The reason why it’s called duck typing is a little saying in Ruby if it walks like a duck and talks like a duck then it’s a duck. That is where the saying came from.

In contrast Java does not use duck typing. You have to declare specific types within methods and classes. Also you have to declare the return type within the method definition. So it’s not as flexible as Ruby. Therefore it’s not considered to have the ability of duck typing.