August 12, 2012
Nice feature working with OSX

After a command in terminal you can add

&& tput bel

to get a red badge when the command finishes, very nice!

For example try this:

sleep 3 && tput bel

July 11, 2012
Segmentation fault with “rails new foo” with ruby 1.9.3 (using rvm)

If you are on OSX, if you use rvm and ruby 1.9.3 and you try the

rails new foo

command to generate a new rails app you probably will get

[BUG] Segmentation fault ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.4.0]

This is due to a problem on openssl and iconv on OSX (the problem is not in rails generation but in “bundle install” executed after code generation), to fix this you can

Install openssl with

rvm pkg install openssl

Install iconv with

rvm pkg install iconv

Now re-install ruby 1.9.3 using rvm with these parameters

rvm reinstall 1.9.3 --with-openssl-dir=~/.rvm/usr --with-iconv-dir=~/.rvm/usr

rvm will act as usual and now, trying again

rails new foo

it will work!

Cheers!

June 23, 2012
Symphony 2

In last months I started to work in an italian startup called Uidu.org.

The whole site is written in PHP and while months were passing we understood that the best thing would be to re-write it from scratch to be able to re-organize all features in a more clean way.

I’m a Ruby on Rails developer by many years and obviously it was my first choice, but after talking with others team’s members we decided to stay on PHP but without refusing to use MVC pattern.

The choice was for Symphony (in particular on version 2 of the framework).

I’m still new to this framework and I’m learning. Having a strong experience on Ruby on Rails, I’m confortable with most of concepts present in Symphony2, but the biggest con of it (I already said it about CakePHP) it’s the language under it .. PHP.

It’s incredible how many characters you have to write to get something to work, I want to be clear, it’s not Symphony’s fault, it’s PHP!

Anyway, I’m still learning it and maybe I will fall in love with it, but for the moment it hasn’t happened yet.

I will update you if situation will change

DCell: distributed object in Ruby

In last days I’m working on a personal (future open-source) project in Ruby.

It will be a distributed system where many istances do same things and communicate together passing messages each other.

After some reading I started looking at EventMachine in order to use reactor pattern for this project (nobody requires best performance on the first pre-alpha release but why don’t try to do well things from the beginning?)

Yesterday I finished the scheleton of the “worker” and today I wanted to start writing protocol’s implementation (it should be a very simple protocol) but today I found a very interesting post from Tony Arcieri in which he presents Dcell

Actor-based distributed objects in Ruby based on Celluloid and 0MQ

After reading this post I thought “Dcell is a big piece of what I’m trying to create, why should I try to re-invent the wheel if Dcell already does what I need?”

So, from tomorrow, I will start to take a look at Dcell and I think I will use it in my project. This will remove problems like connection management, messages management and so on!

I can’t wait to get deeper on it!

March 17, 2012
Intereting project to avoid github

March 7, 2012
Missing eth in CentOS 6

In these days I did some tests with CentOS 6. Usually in production I use CentOS 5.x but now CentOS 6 is here by some time and I wanted to try it a bit in a virtual machine, just to see what changed.

The first thing I found is that after setup I had no eth interface configured, the first thing in my mind was “what the f**k?”. If you did the same as me, there is a very easy solution to enable eth on boot:

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

and put inside it

ONBOOT="yes"

That’s all, from now, at boot time, CentOS 6 will enable eth (0 in this example) for you!

Being wrong

I really apreciate this TED talk of Kathryn Schul, we are human and we HAVE to be wrong sometimes

March 1, 2012
OSX Gatekeeper

This morning I was reading some news about the next release of OSX (known as “OS X Mountain Lion”) and particularly about “Gatekeeper” (a new way to limit malware on a mac).

In short, in OSX Mountain Lion you will have a tab in preferences where you can choose which “sources” can be considered safe to run software.

Allow applications downloaded from:” and you will have 3 choices: “Mac App Store”, “Mac App Store and identified developers” (this should be the default) and “Anywhere”.

Mac App Store” means that you can execute only software downloaded from the store (the little paranoid man in me thinks that it could become the default in the future .. but I hope Apple will not do this error)

Mac App Store and identified developers” means you can execute software from the store and all software certified by a certified developer (a certified developer is a developer that has a personal key, released from Apple, used to sign his software). This probably will be a problem with opensource software. I guess everyone can take a key but if a software is developed to be multiplaftorm (or ported to OSX) I think it will not be certified so you will not be able to use it.

Anywhere” simply is what you are used to, you can download and execute everything you want.

The good

This could be a good way to limit the amount of software that an unexperienced user runs on his system, so it can be useful to avoid malware. Obviously if the default setting will create problems to users they will switch to “Anywhere” making this feature useless.

The bad

As developer, I run on my mac a lot of software ported to OSX, I can’t tell for sure that I will have to switch imediately to “Anywhere” but I think I will probably be forced to do it because I can’t expect that all developers will take a developer key from Apple.

The little paranoid man in me (again) is afraid that the “Anywhere” option could disappear in the future, but honestly it’s very very difficult, Apple knows that it will loose A LOT of users in this case.

I think all users that use fink, ports or brew will be forced to choose “Anywhere” and I think the same thing for everyone use a Mac to develop (non OSX software).

We will see!

February 16, 2012

A very interesting read: http://ping.fm/TY6aO

Chance of Creativity= Past Experiences+Environment+Education+Study+Previous Successes+Previous Failures+Career+Imagination+Time Spent Reflecting+Hobbies+Interests+Stimulating Friends/Colleagues+Exposure to New Situations+Previous Exposure to Challenging environments+Open Mindedness+Analytical Capacity from http://ping.fm/Noy2T