yozzeff thinks

musings about programming

Montag, Oktober 31, 2005

playboy bunnies and the ruby community

eric has some problems with some things martin fowler said about the ruby community vs. the python community in his blog

what was really said

now if he read martins blog entry really and slowly he might notice that martin does say that he does not know if the ruby community is nicer than the python community but that he has noticed that the ruby community is nicer that most other online communities.
this of course could include python but not necessarily so.

observations

as far as i can tell it is definitly true that the ruby community is a very nice one and especially so if you compare it to other communities.
have a look on any thread on theserverside.com or on java lobby.
or have a look at hibernate forums. many of them are populated by rude and/or arrogant people.
my experiences with python people are as equally conforting as those with ruby people. be it online or offline.

what eats them

what i also observe thou is that python people are getting easily ungentlemen like if you start talking RoR.
they simply do not understand the hype especially as python has all of that too.
sorry guys but sometimes timing and a little bit of luck is all it needs. ask digital research and microsoft about it.
maybe the biggest issue here is that pythons are used to eat and not be eaten.

conclusion

as far as i am concerned - i like both communties - especially in
contrast to any java community (and particulary to the hibernate guys).
sure eric is right: bunny rabbits are even nicer than ruby people. BUT any playboy bunny is even nicer that a rabbit bunny.
belive me if i had the chance to spend a night with one of these bunnies i wouldnt frett a minute for not having any one of you nerds around me.
be it nice ruby or python people.
so please get a life - and me too.

Donnerstag, Oktober 20, 2005

teclarative.rb (information underflow)

christian has blogged about my talk on euruko.
it was about teclarative.rb. a domain specific language
for declarative testing. now as people read chris's
blogg they start asking for more information.

the short answer

sadly there is not much of that at the moment. for
the talk i created of course a set of slides which
i have converted to PDF and which you can download
here
but there is only a slight chance that you
will find the slides usefull as i was creating them
according to the takahashi method.
this methods lends itself very well to live presentations
(at least that was my impression when doing the talk) but it
falls absolutely short when giving it to people that have not
attended the talk.

polishing

so for all the interested parties:
please give me a few more days to polish the library
as well as create some decent documentation.
i will announce on this blog and on comp.lang.ruby.

Montag, Oktober 17, 2005

ruby geeks gathering (euruko 2005)

so its done. 2 days of nerdy talk by nerds with nerds.
and beer of course as this was in munich.

organisation

or the lack thereof. at least that was my first impression when
i looked at the conference page and when the conference started.
but stefan who was the chair of the conference did very well.
he organised the tracks ad hoc by giving index cards
to the participants to write the name and a short description
of their talk(s). after doing that all of us discussed the
concrete schedule and after everybody introduced himself
(there where about 40 of us) the talks began.

the good and the ugly

as ever when going to a conference
- especially to technology conference -
the quality of talks ranges from pretty lame to almost brilliant.
same of course is true for the speakers themselves.
there are speakers who are gifted and ... well ... uhm ... yes.

interesting stuff

kingsley did a very interesting talk
about using selenium as a testing framework on agile projects.
thou i am not that much into agile projects i found he's talk
enlightning. this will enable me to push ruby into our company
as the benefits can be hardly argued.
also rob's talk about his jedit plugin was quite nice. i will
certainly us the plugin on my ladies notebook
(that is the one for traveling :-) )

outstanding stuff

chris did a presentation on a
framework he wrote that does AOP. actually he calls
it contextR but it does quite a bit of aspectizing.
not only was the topic the most interesting one on the
whole conference (and judging the real long applause
he got the other participants felt the same) but
the presentation and the style where excellent as well.
the only issue i have is:

  • no, not that the performance of contextR is
    horrible (that will be hopefully fixed)

  • no, also not that some constructs are missing for doing
    AOP in a more pleasing way (a pointcut language
    and the like wouldbe really good but that is easily fixed to)

no the issue i have is: that kid is as half as old as i am - but
at least twice as good as me.
man, do i feel old!
so find his presentation here

anyways i am looking forward to euruko 2006 and meeting you there again.

Sonntag, Oktober 09, 2005

xml backlash

code monkey is wondering why there is such a backlash
against xml in the java community recently and he asks
some questions at:
http://jroller.com/comments/coderant?anchor=another_xml_monster

to answer the easiest question first: no!
nobody expects you to code all those declarative things in java.
that be complete madness.

but fact is that xml is and has been abused way
to much in the last few years.
often this is not necessarily an issue of xml but an
issue of the api design that exposed thru the xml.
ejb and its host of xml files are certainly the showcase for it.

poor api design


usually the real issue is that those APIs are created with
no simple and useful default settings. so one has to specifiy
a host of xml elements and attributes.
that is certainly a reason why ruby on rails is gaining so much
traction: usefull defaults where RoR tries to deduct from context
a lot of information and of course that ruby is an
extremly nice language too :-)

it is a difference if i can specify a simple persisten class as

class Foo < ActiveRecord
end

and be done or if i have to write

<hibernate-mapping import="false">
<class name="Foo" table="FOO" schema="myschema">
<id name="id" column="id" type="string">
<generator class="uuid.hex">
</generator>
</id>
<property name="bar" column="BAR">
<property name="baz" column="BAZ">
</class>
</hibernate-mapping>

actually there is nothing that forbids hibernate (or any
other project) to have a set of well defined and
documented defaults that in the end would allow
for something like this

someHibernateManager.registerSchema("myschema");
someHibernateManager.addClass(Foo.class);

no hbm files what so ever.
if you for example now refactor the property "foo" to
"foobar" there is exactly one place to go. thats it!
alas this is no blog entry about hibernate - so lets
move on.

no breaking up of config files


the second issue is intrinsic to xml (or has been at
least until only very recently):
there where no defined ways to break up ones configuration
files into small and easy to handle packages. that usually
lead to having to build some sort of pipe designs
in order to merge the small config files into one before
being able to consume it.
all of this is of course doable. and i have done it more
than once .
finally this year XInclude has arrived. but of course only
very fresh and new libraries like XOM 1.1 support it.

no escape from the "declarative way"


sometimes (often?) defining something declarative
is simply not enough. not only once in my projects
the need arose to have for exaple a simple "IF"
contruct (and belive me where an IF lurks a WHILE
is hiding very closely).
lets see the hibernate conf file again

<hibernate-mapping import="false">
<class name="Foo" table="FOO" schema="myschema">
<id name="id" column="id" type="string">
<generator class="uuid.hex">
</generator>
</id>
<property name="bar" column="BAR">
<if expression="deployment_server.name == 'TEST'">
<property name="baz" column="BAZ">
</if>
</class>
</hibernate-mapping>


so you suddenly have to implement more or less a
fullblown programming language on top of your own
mini configuration language.
aah, i could use XSLT! sure! even more infrastructure i
have to build so that every config file is first
correctly preprocessed before being read and interpreted.
besides that writing an reading XSLT templates is
not exactly fun.

use a scription language for the JVM


so if you dont want to do your configuration in java
why dont you use a scripting language instead of XML.
i have written a bit about choosing one at:
http://yozzeff.blogspot.com/2004/12/choosing-scripting-language-for-jvm.html

your infrastructure needs will be far smaller and you
can concentrate more on the business task at hand.

of course a scripting language wont help you if your
api sucks and you expose it via jruby or groovy. then your
users will have to write loads of jruby config code and
you will experience a jruby backlash.