ארכיון יומי: 21 מרץ, 2013

profit by inertia

Some companies in this world have no legitimate right to exists, if you take what they sell vs what they have.

One such company was Sun, but one such giant that exists today is IBM.

I was asked by a friend to take a look at a product by IBM (it called connections), and I was shocked. IBM has a product that makes MS Sharepoint look like a bad written toy, yet I have never seen it, or heard about it prior to that request from my friend. The reason why my friend knew about it, was because he knows the manager behind the product at IBM.

A company asked me to look for them a replacement for sharepoint (they preferred open source based solution), and Google did not gave me any hint about this product back then or now, even though my search did not include open source.

But the product offer so much more then MS sharepoint. I don't know it's price, but it works on all standard based web browsers , and on many operating systems, such as Linux (deb and rpm based), Windows, Unix and Mac. It can integrate with many more tools then sharepoint, including MS Office, but not limited to it, and even offer web based office included.
It support Mobile based connection, and view that fit to your mobile devices, and the list of features just goes on and on.

And here is the Pitch that IBM needed to make, and remained silent. Such product is a sharepoint "killer", if it's price is the same as MS, or cheaper. And it's not the only product by IBM that you never heard about before, but can help you.

The same was with Sun and Open/Star office. They could make real "battle of the office suites" if they wanted, but they didn't, so MS kept selling their Office suite product.

Companies such as IBM earn the money that makes them run, by inertia, not by doing a good work of selling the things they do.

ActiveRecord sucks (English)*‎

Every Ruby developer knows an ORM named ActiveRecord.
It is so common, that it has even implementation on different programming languages, such as PHP.

At one hand, it is written in a way that truly understand Ruby, but on the other hand, it is written very badly. It is written so badly, that it has a lot of SQLi bugs inside, it uses too many resources to perform tasks, and the list just goes on and on …

If that was not enough, then it is very opinionated on how things would be created, even on places that you need different level of thinking, it does not provide it on it's own, and you find yourself write stored procedures that implement them, or functions for triggers instead.

I mostly use Ruby "clean", that is not writing any web based application, and on one of the non web program that I wrote, I needed to go over million records per day (not literally a day, but day in BI), and I find that after 200 requests for records, it opens too many connections to the database, even though it has a limit for "only" 120 connections for it's connection pool, but when I decrease it for 50 connections, it claims that it does not have enough connections to use.
Even an hour of inactivity, it does not release it's connections back, even though it has a "timeout" of 30 seconds to release it.

It ignores my timeout settings, it just take more resources, but does not release them back, regardless of what I tell it to do. So it renders as resource hog, and you require to release the resources "by hand" rather then do it's job right.

I found, many complaints about it on the web, and even few bug fixes, that didn't really fixed anything as I can see in real life situation, even when going to the last stable release of it.

S I started looking at other ORM for Ruby (and there are others as well), and it looks like a problem only with AR so far.

* This is a translation that was requested by few people for the original Hebrew post.