I've found that the typical features described about roles in contrast to inheritance are:
The difficulty I'm finding is that all of these features can be provided though inheritance already.
Avoid complex inheritance hierarchies. This is equivalent to only allowing one level of inheritance. Besides, roles can use other roles (at least they can in Roles::Tiny), so this problem is not avoided by using roles. This concept can also be confused with package hierarchies (e.g. File::Text) versus inheritance hierarchies -> clearly subclasses can inherit from modules outside of their package hierarchy, hence the risks of multiple inheritance.
Better encapsulation and code re-use. To find if a class does something, you just use the UNIVERSAL->can method. To find if a class has inherited a particular class, use the isa method. This doesn't seem different to roles.
Requires - this is useful, but why couldn't this be implemented as a module on it's own - in fact Roles::Tiny uses the UNIVERSAL->can method to check the symbol table for any required method / sub.
Given the above, are roles just a different way of describing inheritance, rather than a functionally different approach to OO polymorphism and encapsulation?
The event takes place every Sunday at Alley NYC. The midtown venue is a shared office space open between 12-4pm with room for 100+ hackers, power, wifi and kitchen facilities. A youngish crowd and a relaxed, friendly vibe, there are no presentations or planned activities - just turn up and hack solo or chat with people and code together. Most people I met were budding Ruby programmers from a local college. I really enjoyed it and will be heading back there frequently (including tomorrow). If you're heading down to Alley NYC drop me an email if you'd like to chat / hack Perl.
N.B. Hacker Hours are another meetup group that uses the Alley NYC space on Sunday at the same time. I didn't notice any distinction between the two groups.
betfair is a sports betting services provider best known for hosting the largest sports betting exchange in the world. The sports betting exchange works like a marketplace: betfair provides an anonymous platform for individuals to offer and take bets on sports events at a certain price and size; it is the ebay of betting. Unfortunately betfair is not available in all countries including the US. I hope that will change in the future.
Check out the module's documentation for more information about betfair and the available API methods
]]>Everyone knows how frustrating it can be to try and fail to install a Perl module. I'm writing an article that will help people troubleshoot the common causes of a module not installing. I've made a list below but have I missed any common installation issues that you've experienced?
Thanks in advance
]]>Are you looking for help?
Can you animate the initial load of the library to spiral out from a small dot to full size? Just an idea.
However on the same machine, using Firefox v20.1 I got the following warning:
This Connection is Untrusted
You have asked Firefox to connect
securely to stratopan.com, but we can't confirm that your connection is secure.
Normally, when you try to connect securely,
sites will present trusted identification to prove that you are
going to the right place. However, this site's identity can't be verified... (continues).
Technical Details
stratopan.com uses an invalid security certificate.
The certificate is not trusted because no issuer chain was provided.
(Error code: sec_error_unknown_issuer)
]]>