Reading Time: 2 minutes
Yesterday, I attended Ruby Zagreb meet up. Officially, it
was first, but it was just first organized using Meetup platform. I think that Ruby group is one of the oldest meet up groups from Zagreb area. Meet up was held in club Mama. There is a story that in early days of Croatian Internet access (1992) Mama’s Internet fee for linux users was twice cheaper than for Windows users.
We started with usual introductions. We had professional hard core Ruby developers, Ruby newcomers who wanted to find out why Ruby is such a great language, and two dedicated software testers.
Fun part started with Nikica’s presentation on Threads, Actors, Fibers and STM made easy with Celluloid framework. Presentation takeaway: serious concurrency is possible in plain Ruby.
Second presentation was held by Sime, how to create our own mini testing framework by reverse engineering minitest framework.
Presentation takeaway: by doing it, you will learn a lot of great stuff how to create your own framework. I was surprised that minitest was new in Ruby world, because I am from Java world. It seems that rspec was first Ruby testing framework, coming with its own DSL language and resolving some missing feature and obstacles in Junit framework (versions before number 3). I hope that there will not be future Ruby presentation how we switch back from minitest to rspec.
At the end, Vlado presented its own open source contribution with gem rails_db_info. Browse through your database tables in easy and effective way. Presentation takeaway: create it, encapsulate it, publish it as a gem, true meanings of open source. And, yes, you will learn something by doing it. Vlado learned how to configure Travis.
Zeljko announced Citcon unconference that will be held on 20. and 21. September in Zagreb. It is about continuous integration and testing that accompanies it. And it is FREE!
We continued mingling over beers at Kolding. I was part of interesting conversation about ActiveRecord practical problems and challenges. I herd again that Rails is oversimplified and that “everybody” could start programming with it very quickly. That Rails is not framework for real projects. I can not argue against those arguments because I am not power Rails users, but again, coming from Java world (J2EEs and Spring frameworks), I think that Rails is very revolutionary framework. It is very testable (for example, I know few J2EE developers who would kill for Capybara J2EE framework) and security features are state of the art comparing to Java framework world.
Reading Time: 1 minute
In this blog post I will describe Microsoft Visual Studio 2012 user experience issue. Using consistency oracles, I will advocate why is this user experience issue.
In Microsoft Visual Studio 2012, I accidentally closed source code explorer window. This is for me the most important tool window. It is window that enables me to easily browse through the project files and folder structure. I did not have information how to reopen it. I started my investigation by touring the View menu. There is 24 menu options in first menu level, but no source code explorer option. I switched to Window menu, no lack again. So far I spent 5 minutes in my tour. Switched back to View menu, other windows submenu, there it was, as sixth option. I spent 8 minutes in my tour.
This is not consistent with:
- user expectation – I expect that most important window must be reopened in quick manner.
- consistent with claims – on Visual Studio home page, second claim is “Built for Agile processes”. Dictionary meaning of word agile is: Characterized by quickness, lightness, and ease of movement; nimble. I spent 8 minutes to find out how to reopen source code explorer window. This is not agile.
- consistent with our image – observe picture in this post (picture is from Microsoft Visual Studio home page). Microsoft wants to project image as company that enables user to do their work quickly.
We have three inconsistencies which are advocating my claim that described behavior is user experience issue in Microsoft Visual Studio.