<?xml version="1.0" encoding="iso-8859-1"?>



<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:cc="http://web.resource.org/cc/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://blogs.codehaus.org/people/bob/">
<title>bob mcwhirter</title>
<link>http://blogs.codehaus.org/people/bob/</link>
<description></description>
<dc:language>en-us</dc:language>
<dc:creator></dc:creator>
<dc:date>2004-12-09T18:41:40+00:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=2.661" />


<items>
<rdf:Seq><rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000918_wheres_bobs_blog.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000832_mua_and_acts_of_god.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000828_theft.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000802_drools_not_dead.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000796_janino_rocks_my_socks.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000788_antispam_idiots.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000742_open_source_code_coverage_tool.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000741_rip_xmlhack.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000740_bea_codehaus_controlhaus.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000737_name_dropping.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000712_dom4j_15beta2.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000710_happy_birthday_jason.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000705_bea_eworld.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000698_kicking_and_screaming_into_the_90s.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000677_xml_is_not_always_the_answer.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000674_big_ol_jed_had_a_light_on_seattle.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000671_berkeley_db_java_edition.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000668_read_this.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000665_action_at_a_distance.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000642_gmane_for_blogs.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000637_happy_birthday_ben.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000616_the_codehaus_one_year_later.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000603_life_hacks_and_etech.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000596_emerging_technology_conference.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000577_drools_20beta13_and_gui.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000566_pragmatic_perl_patterns.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000554_bath_and_bodyworks_buffet.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000549_mainstream_foo.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000547_googlearchy.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000536_drools_20beta12.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000529_wake_up.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000527_congrats_on_jbg_tomsk.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000524_book_review_slack.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000521_misguided_utilities.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000515_cfp_oreilly_oss_convention_2004.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000505_standards_are_great_everyone_should_have_one.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000497_first_groovy_release.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000496_getting_groovy_with_drools.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000495_snow.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000494_xqengine.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000493_jsr94_proposed_final_draft.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000492_elements_of_style.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000491_involuntary_switch.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000490_business_rules_opinion.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000489_my_head_is_going_to_explode.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000488_agile_methods_and_enterprises.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000487_best_keyboard_ever.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000486_dont_trust_anyone_over_30.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000485_conference_business_rules_forum.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000484_blogref.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000483_xpath_and_soap_jaxen.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000482_cm_geeks.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000481_yetanother_cache.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000480_bytecode_library.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000479_continuous_integration.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000478_talk_like_a_pirate.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000477_eurobob_in_14_days.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000476_rip_warren_zevon.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000475_bpmn.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000474_deskcat.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000473_ucm_central_config_mgmt_site.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000472_eurotour_update.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000471_youre_in_pain_country.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000470_transactions_and_rules.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000469_a_sad_day.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000468_xsym_2003.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000467_antlr_cabal_2003.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000466_anthem.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000465_the_politics_of_opensource_software.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000464_information_wants_to_be_free.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000463_drools_20beta11.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000462_eurotour_03.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000461_publish_or_perish.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000460_morphon_free_xml_editor.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000459_the_beautiful_people.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000458_saxon_76_xpath_2_and_xquery_support.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000457_freecache.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000456_more_scm_and_agility.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000455_jaxensaxpath_updates.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000454_robin_remote_xul_desktop.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000453_adsensible.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000452_free_books.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000451_d2td2.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000450_antlraux_stuff_for_antlr.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000449_jmxp_jmx_over_beep.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000448_guru_node_proximate_geeks.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000447_citeseerfun_job.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000446_baan_the_unloved.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000445_another_carbon.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000444_core_developers_network_jbossgroup_fork.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000443_haystack_and_the_semantic_web.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000442_ai_depot.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000441_java_and_atlanta.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000440_udell_on_rules_infoworld.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000439_xquery_talk.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000438_blogscodehausorg.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000437_gartner_on_rule_engines.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000436_xrml.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000435_scm_and_agile_development.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000434_welcome_to_codehaus_qdox.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000433_xpathng_revival.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000432_are_you_just_replacing_the_carpet.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000431_bpel4ws_wins.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000430_euro_business_rules_conference.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000429_quick_intro_to_owl.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000428_xquery_getting_hot.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000427_jdk_142_beta.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000426_the_jaxen_presentation.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000425_sdwest_tuesday.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000424_like_california_dude.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000423_thanks_floyd_tss_redeemed.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000422_reputable_java_spammers_tssjdj.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000421_specwatch_bpel4ws_rand.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000420_specwatch_wsdl_12_ws_soap.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000419_jsr_208_java_business_integration.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000418_jsr_207_business_process.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000417_werkflow_help_wanted_bpel4ws.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000416_bpel4ws_learning_guide.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000415_orchestration.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000414_drools_crossblog_pointer.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000413_excess_capacity_commercial.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000412_programming_languages_course.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000411_time_management_bandwagon.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000410_ws_choreography.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000409_happy_birthday_rebecca.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000408_update_werkflow.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000407_when_its_a_crime_to_own_crypto.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000406_math_is_hard.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000405_cost_of_attacks_vs_cost_of_patches.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000404_antlr_272.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000403_movie_remixes.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000402_water_jelly_competitor.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000401_drools_20beta10.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000400_linux_laptop_masochism.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000399_i_miss_operator_overloading.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000398_beware_the_fringes_window_managers.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000397_drools_20beta9.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000396_socalled_source_code.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000395_everything_sucks.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000394_workflow_patterns.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000393_bpm_motherlode.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000392_100_entries.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000391_a_darn_good_blog.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000390_xpath_explorer.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000389_who.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000388_standalone_uberjar.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000387_phish_rocks_dude.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000386_conformance_testing.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000385_gilgul_gilgul_0.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000384_microsoft_to_buy_bobs_notebook.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000383_xml_the_big_picture.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000382_spec_watch_xpdl.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000381_meet_bob_and_learn_about_jaxen.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000380_bpmlbpel4wsbpmn.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000379_conversation_support.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000378_coding_in_the_small.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000377_better_javadocs.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000376_better_xml_serialization_for_rdf.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000375_xpathng.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000374_always_have_a_plan_b.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000373_esoterically_cool.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000372_make_it_look_like_outlook.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000371_national_go_crazy_day.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000370_new_scm_patterns_book.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000369_personal_citeseer.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000368_29_29.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000367_application_isolation_jsr.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000366_serverside_wet_dream.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000365_business_models.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000364_notes_on_postmodern_programming.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000363_beep4j.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000362_internal_apis.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000361_java_community_process.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000360_planning_and_scheduling.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000359_net_legends.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000358_article_about_maven.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000357_petri_net_reading.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000356_cmm_is_not_a_methodology.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000355_web_services_gartner_has_an_opinion.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000354_petri_nets_awareness.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000353_masturabatory_blogging.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000352_pretty_urls.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000351_drools20beta7.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000350_nontech_freedom_of_speech.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000349_scariest_clown_ever.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000348_qdox.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000347_classworlds10beta1.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000346_classloading_differently.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000345_classloading.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000344_jelly_docs.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000343_blissed10beta1.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000342_calendar_taglib.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000341_xom_rustys_xml_object_model.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000340_grand_flow_unification_theory.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000339_blissful_state_machines.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000338_jsr147_workspace_versioning.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000337_geek_diversity.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000336_wsfl_chapter.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000335_webby_mvc_webwork_and_struts.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000334_topic_maps.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000333_rerun_jsr94_comments.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000332_the_aussies_again.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000331_ibm_and_the_grid.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000330_shortest_path_to_a_semaphore.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000329_business_process_automation.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000328_from_wither_came_the_aussies.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000327_rich_webbased_xml_editing.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000326_jsr94_im_grumpy.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000325_jaxen_and_exml.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000324_my_wonderful_wife.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000323_drools_20beta6_released.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000322_different_persistence.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000321_java_wikiblog.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000320_dogs_tech.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000319_drools_snakes_can_drool.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000318_drools_test_coverage.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000317_1000_of_beer.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000316_scrum_xp_without_the_insanity.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000315_good_music_at_079.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000314_effecient_jython_embedding.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000313_drools_jellyconsequence_tag.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000312_latex_and_pdf.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000311_state_and_taskbased_workflow.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000310_junit.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000309_xpath_tips.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000308_drools_20beta5_released.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000307_automatic_investment_managmenet.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000306_graph_structures_in_xml_gsix.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000305_icons.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000304_music_for_coding.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000303_jnlp_via_ant_and_thus_maven.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000302_workflow.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000301_code_generation.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000300_thin_is_cool_apparently.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000299_java_rules_engine_api.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000298_maven_10beta5_released.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000297_thin_java_gui.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000296_jira_rocks.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000295_cool_software.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000294_werken_infrastructure.html" />
<rdf:li rdf:resource="http://blogs.codehaus.org/people/bob/archives/000293_werkflow.html" />
</rdf:Seq>
</items>

</channel>

<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000918_wheres_bobs_blog.html">
<title>Where&apos;s Bob&apos;s Blog?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000918_wheres_bobs_blog.html</link>
<description><![CDATA[<p>So, I haven't been blogging here in quite a while.  Now that the cat's been let out of the bag, I've actually been blogging over at <a href="http://openxource.com/">OpenXource</a>, a new venture I've started to address the growing needs of corporations releasing opensource and participating in open communities as more than simply users.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-12-09T18:41:40+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000832_mua_and_acts_of_god.html">
<title>MUA and Acts of God</title>
<link>http://blogs.codehaus.org/people/bob/archives/000832_mua_and_acts_of_god.html</link>
<description><![CDATA[<p>So, the <a title="weather.com" href="http://www.weather.com/">act of God</a> known as Frances has caused me to change MUAs.  I used to be a dyed-in-the-wool Pine 3.96 user, but the sysadmin upgraded, and I had to adapt to Pine 4.x.  Then, Frances rolled through, and the machine that is the MX for <b>werken.com</b> (where I .forwarded everything) lost power for most of the day.  So, I removed my .forward on the <b>codehaus.org</b> box, did an <code>apt-get
</code>
 for Pine, and discovered that it doesn't support DJB's <b>Maildir</b> stuff which we use at the haus.  So, I've now fired up and am trying to learn Mutt (meaning that I'm un-learning a decade of Pine keystrokes).   This is also a subtle reminder that it's still polite to send plaintext email wrapped at 72 columns.  </p>

<p>Also, it's not much fun climbing upon your 80-year-old house in the driving rain to tie a tarp over the roof the previous owners described as having "no leaks".  Sure, depending on the definition of "no".</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-09-08T06:58:12+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000828_theft.html">
<title>Theft!</title>
<link>http://blogs.codehaus.org/people/bob/archives/000828_theft.html</link>
<description><![CDATA[<p><a title="i-neighbors" href="http://www.i-neighbors.org/">i-neighbors</a> has popped up as the next social community meme.  Nice logo.</p>

<p><img src="http://www.codehaus.org/~bob/neighbors.gif"></p>

<p>Looks somewhat familiar...</p>

<p><img src="http://www.codehaus.org/codehaus-small.png"></p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-09-03T05:00:41+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000802_drools_not_dead.html">
<title>Drools, not dead.</title>
<link>http://blogs.codehaus.org/people/bob/archives/000802_drools_not_dead.html</link>
<description><![CDATA[<p>While surfing around to find stuff to put on the <a title="Publications" href="http://drools.org/Publications">publications</a> page of the new and improved <a href="http://drools.org/">Drools website</a>, I kept tripping across comments from folks who thought Drools was dead and who complained about its lack of documentation.  So I figured it was time to make some noise again.  <b>Drools is decidedly not dead</b>.  Rapid progress is being made towards a <b>2.0-final</b> release, including <b>100% JSR-94 compliance</b>.  Thanks to Alex, Andy, Doug, Mark and others I'm sure I'm forgetting to mention, documentation and examples have all been massively improved.   So, if you haven't been by lately, I suggest dropping by the <a href="http://drools.org/">site</a> and checking it out again.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-07-29T07:55:21+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000796_janino_rocks_my_socks.html">
<title>Janino Rocks My Socks</title>
<link>http://blogs.codehaus.org/people/bob/archives/000796_janino_rocks_my_socks.html</link>
<description><![CDATA[<p>We just replaced BeanShell with <a title="Janino -- an Embedded Java[TM] Compiler" href="http://www.janino.net/">Janino</a> in Drools.  It's an order of magnitude faster, and simply rocks.</p>

<blockquote>Janino is a compiler that reads a JavaTM expression, block, class body, source file or a set of source files, and generates JavaTM bytecode that is loaded and executed directly. Janino is not intended to be a development tool, but an embedded compiler for run-time compilation purposes, e.g. expression evaluators or "server pages" engines like JSP.</blockquote>
]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-07-22T05:57:41+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000788_antispam_idiots.html">
<title>Anti-Spam Idiots</title>
<link>http://blogs.codehaus.org/people/bob/archives/000788_antispam_idiots.html</link>
<description><![CDATA[<p><a title="0Spam.com - A Virtually 100% Effective Free Anti Spam Service" href="http://www.0spam.com/">0Spam.com - A Virtually 100% Effective Free Anti Spam Service</a> is a complete piece of crap.  Nope, I don't use'em.  I'm just abused by them.  </p>

<p>One of the many worms out there is sending its crap and spoofing the From with my email address.  We all know it happens, right?  Well, these idiots don't bother to check to see if it's bogus email, instead, they send an automatic verification email to me, for me to prove that I really sent the mail.  30 times.  For the same recipient.  Of course, they provide no way to anti-verify it.  So, I continue to get assloads of their verification mails in my inbox.  Helping to solve the spam problem?  Not from my perspective.</p>

<p><b>update</b></p>

<p>Just received a reply to my complaint...</p>

<blockquote>OK, your address is now blocked.  You could have setup filters in your mail
client to block us as well.</blockquote>

<p>Doesn't that seem like an odd response to someone providing services to keep your inbox clean?  Not even an opt-out response, but more of a "just delete'em" response.  Yep, idiots.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-07-15T02:03:25+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000742_open_source_code_coverage_tool.html">
<title>Open Source Code Coverage Tool</title>
<link>http://blogs.codehaus.org/people/bob/archives/000742_open_source_code_coverage_tool.html</link>
<description><![CDATA[<p><a title="EMMA: a free Java code coverage tool" href="http://emma.sourceforge.net/">EMMA: a free Java code coverage tool</a></p>

<blockquote>A Coverage Tool for Java Developers, Written By a Java Developer

<p>Code coverage for free: a basic freedom? Until recently, the world of Java development had been plagued by an absurd discrepancy: Java developers had excellent free IDEs, free compilers, free test frameworks but had to rely on code coverage tools that charged an arm and a leg in license fees. As a Java pro, I would like to use the same free coverage tool regardless of whether it is a massive commercial project at work or a small fun project at home. I've created EMMA to be that tool.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-05-26T23:51:34+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000741_rip_xmlhack.html">
<title>RIP: XMLhack</title>
<link>http://blogs.codehaus.org/people/bob/archives/000741_rip_xmlhack.html</link>
<description><![CDATA[<p><a href="http://www.xmlhack.com/">xmlhack</a> has been a useful resource, but it looks like Edd has had his fill and needs a break.  </p>

<blockquote>That's all for now</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-05-26T23:46:37+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000740_bea_codehaus_controlhaus.html">
<title>BEA + Codehaus = Controlhaus</title>
<link>http://blogs.codehaus.org/people/bob/archives/000740_bea_codehaus_controlhaus.html</link>
<description><![CDATA[<p>A new venture, named <a href="http://controlhaus.org/">Controlhaus</a>, an effort with BEA, <a title="BEA Systems - Press Releases" href="http://www.bea.com/framework.jsp?CNT=pr01305.htm&FP=/content/news_events/press_releases/2004&ref=PR2">was announced</a></p>

<blockquote>The BEA WebLogic Workshop controls are immediately and freely available for download at http://www.dev2dev.com/controlpack.com.  BEA is sponsoring an open source community to foster collaboration and further improvement on service controls. The community will be hosted at controlhaus, a sister site to popular open source community codehaus, at http://www.codehaus.org.  </blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-05-26T21:33:47+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000737_name_dropping.html">
<title>Name Dropping</title>
<link>http://blogs.codehaus.org/people/bob/archives/000737_name_dropping.html</link>
<description><![CDATA[<p>The eWorld conference seems to be going well-enough.  I spent the day at the dev2dev booth handing out the new WeblogicPro magazine, along with toy cars with BEA logos on 'em.  You can tell the tech industry is in a slump by the type of schwag everyone gives out.</p>

<p>Had the distinct pleasure of meeting Cameron Purdy and Cliff Schmidt yet again, and Chris Fry, Alex Vasseur and Jonas Boner for the first time.  </p>

<p>I'm still in SF until early Friday, so if you're here and I don't know it, look me up.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-05-26T06:54:37+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000712_dom4j_15beta2.html">
<title>dom4j 1.5-beta-2</title>
<link>http://blogs.codehaus.org/people/bob/archives/000712_dom4j_15beta2.html</link>
<description><![CDATA[<p><a title="dom4j - Change History" href="http://www.dom4j.org/status.html">dom4j 1.5-beta-2</a> has been released.  Maybe that'll inspire us to get a new <a href="http://jaxen.org/">Jaxen</a> release out the door sooner rather than later.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-05-12T15:20:52+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000710_happy_birthday_jason.html">
<title>Happy Birthday Jason</title>
<link>http://blogs.codehaus.org/people/bob/archives/000710_happy_birthday_jason.html</link>
<description><![CDATA[<p>Jason van Zyl, the original guy behind <a title="Maven Diaries" href="http://blogs.codehaus.org/projects/maven/">Maven</a> turned a robust 32 yesterday.  Here's to hoping he continues to increase the ROI of his life.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-05-11T15:08:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000705_bea_eworld.html">
<title>BEA eWorld</title>
<link>http://blogs.codehaus.org/people/bob/archives/000705_bea_eworld.html</link>
<description><![CDATA[<p>I'll be at <a title="BEA eWorld 2004" href="http://bea.com/eworld/index.htm">BEA eWorld 2004</a>.  You'll be able to find me at the <b>dev2dev</b> booth.</p>

<blockquote>Service-Oriented Architecture...

<p>It's the buzz in the world of enterprise software development and integration: Web services and service-oriented architecture (SOA). And at BEA, we're all over it.</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-05-07T17:21:43+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000698_kicking_and_screaming_into_the_90s.html">
<title>Kicking and Screaming into the 90s</title>
<link>http://blogs.codehaus.org/people/bob/archives/000698_kicking_and_screaming_into_the_90s.html</link>
<description><![CDATA[<p>Well, I finally came kicking and screaming into the 1990s by signing up for <a title="Yahoo! Messenger" href="http://messenger.yahoo.com/">Yahoo! Messenger</a>.  I think I still prefer <a href="irc://irc.codehaus.org/">IRC</a>, but apparently some folks prefer Yahoo and some organizations block port 6667.  Strange, but true.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-05-04T16:02:38+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000677_xml_is_not_always_the_answer.html">
<title>XML is *not* always the answer...</title>
<link>http://blogs.codehaus.org/people/bob/archives/000677_xml_is_not_always_the_answer.html</link>
<description><![CDATA[<p><a title="TeXML: an XML vocabulary for TeX" href="http://getfo.sourceforge.net/texml/">TeXML: an XML vocabulary for TeX</a> just struck me as horribly wrong.</p>

<blockquote>TeXML is an XML vocabulary for TeX. A processor translates TeXML source into TeX.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-04-13T16:42:44+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000674_big_ol_jed_had_a_light_on_seattle.html">
<title>Big Ol&apos; Jed Had a Light On (Seattle)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000674_big_ol_jed_had_a_light_on_seattle.html</link>
<description><![CDATA[<p>Going to the <a href="http://www.seattlesbestcoffee.com/site/">Mecca of domestic coffee</a> next week.  Seattle and I have a weird relationship where I only stay in town for 23 hours each time.  Though, luckily, I've only ever seen Seattle with blue skys and 70 degree weather.  As far as I know, the whole "rainy northwest" is just a ruse to keep tourists away.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-04-06T18:50:54+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000671_berkeley_db_java_edition.html">
<title>Berkeley DB: Java Edition</title>
<link>http://blogs.codehaus.org/people/bob/archives/000671_berkeley_db_java_edition.html</link>
<description><![CDATA[<p><a title="Sleepycat Software: Products: Berkeley DB Java Edition" href="http://www.sleepycat.com/products/je.shtml">Berkeley DB</a> has always been useful.  More so now that you can use it from Pure Java.</p>

<blockquote>Berkeley DB Java Edition</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-04-03T14:39:59+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000668_read_this.html">
<title>Read this</title>
<link>http://blogs.codehaus.org/people/bob/archives/000668_read_this.html</link>
<description><![CDATA[<p>I wrote something <a title="Haus News - So long, and thanks for all the fish" href="http://blogs.codehaus.org/archives/000667_so_long_and_thanks_for_all_the_fish.html">here</a></p>

<blockquote>So long, and thanks for all the fish...</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-04-01T07:32:47+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000665_action_at_a_distance.html">
<title>Action at a distance</title>
<link>http://blogs.codehaus.org/people/bob/archives/000665_action_at_a_distance.html</link>
<description><![CDATA[<p>Fort Chiswell, Virginia.  Not exactly a place that'd make you think "wifi hotspot".  No, the Comfort Inn in which we're comfortably staying does not have broadband.  Across the highway, and down the road, though, is a Flying J truck plaza.  A Wifi-enabled truck plaza.  With a pretty strong signal that reaches the  comfortable bed in the Comfort Inn.  Probably 3/4-mile distance.  $4.95 for 24 hours of access.  Rock!  Flying J is your friend.</p>

<blockquote><pre>eth1      IEEE 802.11-DS  ESSID:"flyingj"  Nickname:"HERMES I"
          Mode:Managed  Frequency:2.412GHz  Access Point: 00:0B:FD:C8:B0:46  
          Bit Rate:1Mb/s   Tx-Power=15 dBm   Sensitivity:1/3  
          Retry limit:4   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:31/92  Signal level:-75 dBm  Noise level:-106 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:122
          Tx excessive retries:448  Invalid misc:0   Missed beacon:0
</pre></blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-03-28T05:02:25+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000642_gmane_for_blogs.html">
<title>gmane for blogs?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000642_gmane_for_blogs.html</link>
<description><![CDATA[<p><a title="nntp//rss" href="http://www.methodize.org/nntprss/">nntp//rss</a> is an RSS aggregator that provides an nntp interface.  That's cool.  Leverage existing technology and applications while allowing the user to experience new things in a familiar interface.</p>

<blockquote>
Bridging the worlds of NNTP clients and RSS feeds, nntp//rss is an application that will enable you to use your existing favorite NNTP newsreader to read your information channels.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-03-13T07:29:12+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000637_happy_birthday_ben.html">
<title>Happy Birthday, Ben</title>
<link>http://blogs.codehaus.org/people/bob/archives/000637_happy_birthday_ben.html</link>
<description><![CDATA[<p>Happy birthday to <a href="http://blogs.codehaus.org/people/bwalding/">Ben</a>.  Ben is my arch-nemesis from bizzarro world and a valued hausmate/despot.  I had the pleasure of meeting him and his lovely wife in Amsterdam last year.</p>

<blockquote>&lt;bob&gt; !time<br>
&lt;ben&gt; The time is Fri, 05 Mar 2004 00:29:14 +1000 in Bensland, Australia. Happy Birthday Ben! (subtle I know...)
</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-03-04T14:39:52+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000616_the_codehaus_one_year_later.html">
<title>The Codehaus: One year later</title>
<link>http://blogs.codehaus.org/people/bob/archives/000616_the_codehaus_one_year_later.html</link>
<description><![CDATA[<p>Well, a year ago today, I registered <a title="codehaus: the house that code built" href="http://codehaus.org/">codehaus.org</a>.  Kurt Schrader announced it publically about a week later, but the registrar considers today to be the founding day for the haus.</p>

<blockquote>Created On:26-Feb-2003 15:55:34 UTC
</blockquote>

<p>Since then, we've had the first irregular Haus Party, picked up a corporate sponsor or two, birthed quite a few new projects (some which admittedly should probably die), and overall wildly exceeded any expectations I had when I spent the $35 on the domain.</p>

<p>Without the amazing hausmates, the Codehaus would've been nothing than rebranded Werken Company projects.  Thankfully, Werken things make up a much smaller percentage of the goings-on of the haus.  So, if you care to celebrate, raise a stein of brew and cheer in another year.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-02-26T06:13:46+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000603_life_hacks_and_etech.html">
<title>Life Hacks and ETech</title>
<link>http://blogs.codehaus.org/people/bob/archives/000603_life_hacks_and_etech.html</link>
<description><![CDATA[<p><a href="http://conferences.oreillynet.com/cs/et2004/view/e_sess/4802">Life Hacks: Tech Secrets of Overprolific Alpha Geeks</a> was a good session that I attended at the ETech Conference in San Diego.</p>

<blockquote>Technologists consume Big-Gulp-loads of information, and write, code, and edit reams of output. Author Charlie Stross notes that he reads and digests more in his morning bookmarks than most literate 18th-century readers would process in a year. Linus Torvalds and other open source leaders hold down day jobs, and still have time to create wonders in their spare time. Everyone at ETech juggles amounts of email that would stun an ox.</blockquote>

<p>While not necessarily a causal relationship, the sampled geeks tended to use plaintext, shells, and email.  And index cards.  Lots and lots of index cards.</p>

<p>Rebecca, a self-proclaimed "east-coast girl" declared San Diego to be "too sunny".  </p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-02-13T05:41:46+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000596_emerging_technology_conference.html">
<title>Emerging Technology Conference</title>
<link>http://blogs.codehaus.org/people/bob/archives/000596_emerging_technology_conference.html</link>
<description><![CDATA[<p>I'll be dragging my wife to California for her birthday.  Meanwhile, I'll also be attending the <a title="O'Reilly Emerging Technology Conference -- February 9-12, 2004" href="http://conferences.oreillynet.com/etech/">O'Reilly Emerging Technology Conference</a> next week.  Isn't that a great birthday gift for a non-geeky wife?</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-02-06T22:17:11+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000577_drools_20beta13_and_gui.html">
<title>Drools 2.0-beta-13 and GUI</title>
<link>http://blogs.codehaus.org/people/bob/archives/000577_drools_20beta13_and_gui.html</link>
<description><![CDATA[<p>I'd like to announce <a title="Drools" href="http://drools.org/">Drools 2.0-beta-13</a> which mostly corrects just a small problem with the groovy semantic module.  Additionally, <a href="http://www.kalstride.com/">Kalstride</a> has released their <b>KRules</b> GUI for Drools.</p>

<blockquote>2.0-beta-13 is actually now out, fixing a problem with the Groovy semantic module. At the same time, I'd like to announce the Kalstride KRules GUI.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-01-26T14:28:40+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000566_pragmatic_perl_patterns.html">
<title>Pragmatic Perl Patterns</title>
<link>http://blogs.codehaus.org/people/bob/archives/000566_pragmatic_perl_patterns.html</link>
<description><![CDATA[<p>While working on <a title="search.codehaus.org" href="http://search.codehaus.org/">search.codehaus.org</a>, I was adapting <b>mnogosearch</b> to the infrastructre of The Codehaus.  This included not only global search capability, but also the freedom to search logical sub-sets of the assets we host.</p>

<p><b>mnogo</b> has a nice feature where you can pass limiting search URLs as a query parameter.  But I find that to be ugly.  So, with a little <b>mod_rewrite</b>, and a Perl CGI which is truly a classic wrapper-facade around mnogo's <b>search.cgi</b>, I've encapsulated my own collection logic using pretty URLs and collection descriptors on the file-system.  The Perl wrapper synthesizes a QUERY_STRING that mnogo will eat, and formats the results nicely.</p>

<p>Overall, I'm pleased.  I use to hate Perl.  Now, I realize that sometimes, it can certainly get the job done.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-01-22T07:47:27+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000554_bath_and_bodyworks_buffet.html">
<title>Bath and Bodyworks Buffet</title>
<link>http://blogs.codehaus.org/people/bob/archives/000554_bath_and_bodyworks_buffet.html</link>
<description><![CDATA[<p>My wife smelled nice tonight, and I asked her what it was.  Her response was something along the lines of "Warm vannilla spice perfume from Bath and Bodyworks."  I've always thought that we should throw a party where the snacks and beverages were simply Bath and Bodyworks products.</p>

<p>You could mix the <b>Strawberry and Rice Shampoo</b> with a little ginger ale to produce a lovely beverage.  Slices of the <b>Oatmeal and Walnut Body Bar</b> would go well with a cup of coffee.  The <b>Lavendar and Mint Bath Beads</b> in a dish for guests to freshen their breath. Maybe even roll up and smoke some <b>Pure Hemp Exfoliating Cloths</b>.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-01-14T07:11:37+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000549_mainstream_foo.html">
<title>Mainstream Foo</title>
<link>http://blogs.codehaus.org/people/bob/archives/000549_mainstream_foo.html</link>
<description><![CDATA[<p><a href="http://www.cnn.com/2004/TECH/ptech/01/09/bus2.feat.geek.camp/index.html">Foo Camp</a> was written up by CNN.  I was invited, but instead I was off in Amsterdam organizing the first irregular <b>Haus Party</b>.  Sounds like Foo Camp was good geeky fun also.</p>

<blockquote>The idea: Get 200 or so smart folks with a lot in common together in one place at one time, let them pitch tents, toss in a Wi-Fi network, and see what happens. Turns out, quite a lot.</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-01-09T19:31:15+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000547_googlearchy.html">
<title>Googlearchy</title>
<link>http://blogs.codehaus.org/people/bob/archives/000547_googlearchy.html</link>
<description><![CDATA[<p><a href="http://www.princeton.edu/~mhindman/googlearchy--hindman.pdf">Googlearchy: How a Few Heavily-Linked Sites Dominate Politics on the Web</a> (PDF).</p>

<blockquote>Claims about the Web and politics have commonly confounded two different things: retrievability and visibility, the large universe of pages that could theoretically be accessed
versus those that citizens are most likely to encounter. While the governing assumption of much previous work has been that retrievability would translate inexorably into visibility, we cast doubt on that claim. Drawing on a large literature in computer science that ties a site's visibility to the number of inbound hyperlinks it receives, this paper proposes a new methodology for measuring the link structure surrounding political Web sites. Our technique involves iterative, extremely large scale crawls away from political sites easily accessible through popular online search tools, and it uses sophisticated automated methods to categorize site content. In every community we examine, we find that a small handful of Web sites dominate. Online political communities on the Web thus seem to function as "winners take all" networks, a fact that would seem to have widespread implications for politics in the digital age.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-01-08T16:05:23+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000536_drools_20beta12.html">
<title>Drools 2.0-beta-12</title>
<link>http://blogs.codehaus.org/people/bob/archives/000536_drools_20beta12.html</link>
<description><![CDATA[<p><a title="Drools" href="http://drools.org/releases.html">Drools 2.0-beta-12</a> has finally shipped. </p>

<blockquote>While the Drools project has previously experienced a drought in terms of releases, the release schedule has once again picked up and active progress is being made. Ring in the new year!</blockquote>

<p>Some of the important changes include:</p>

<p>  * 2-phase execution model<br />
  * conflict reslution<br />
  * removal of Jelly<br />
  * simplification of the XML language<br />
  * expanded the semantic module framework<br />
  * fixed the go-slow bug.  several orders of magnitude faster now.<br />
  * a Groovy semantic module<br />
  * a <a href="http://drools.org/drools-manual-2.0-beta-12a.pdf">new manual</a><br />
  * simple bash script to build it (no maven required)<br />
  * all dependencies included<br />
  * and a <a href="http://drools.org/">brand spanking new website</a></p>

<p>Keep in mind this is still a <b>beta</b> release, and there are indeed holes in the website and the manual.  Good luck and godspeed.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2004-01-03T20:51:49+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000529_wake_up.html">
<title>Wake up!</title>
<link>http://blogs.codehaus.org/people/bob/archives/000529_wake_up.html</link>
<description><![CDATA[<p><a title="MyCalls - Wake Up Calls and Reminder Calls" href="http://www.mycalls.net/">MyCalls.net</a> bills itself as <b>Wake Up Calls and Reminder Calls</b>.  In order to get to the airport in time to eventually be denied boarding on a flight to Canada, I used this service.  Was nice to have my phone ring at 5am with a wake-up call and even call back 5 minutes later since I'd snoozed it.  Definitely worth the $0.99.  And for future reference, a certificate of adoption is not sufficient evidence that the 6-year-old travelling with you and your wife is an American if you're going to Canada.  After jumping through a few hoops, we're finally actually enjoying the Great White North.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-28T22:20:02+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000527_congrats_on_jbg_tomsk.html">
<title>Congrats on JBG, Tomsk!</title>
<link>http://blogs.codehaus.org/people/bob/archives/000527_congrats_on_jbg_tomsk.html</link>
<description><![CDATA[<p>Congratulations to Thomas Diesler, one of our developers on <a href="http://drools.org/">drools</a>.  He's joining the <a href="http://jboss.com/">JBoss Group</a>.  Rock on Tomsk!</p>

<blockquote>
I would like you to Welcome Thomas Diesler that will start with us on the 1st of January 2004 (at 0h00, and I will verify this). &lt;applause /&gt;

<p>Thomas will work on the Web Services for J2EE 1.4 and is also interested in better integrating a rule engine in JBoss. He will work out of M&#65533;nich and he is thus our first true German-speaking engineer. </p>

<p>Thomas is also the stereotype of the Red-Pill guy: he left East-Germany while he was at the army by doing a risky trip through slavic countries (he was then condamned to a life-sentence by the East-German authorities), had to swim between borders, etc. and .... a few months later... the Berlin wall felt! Somehow frustrating I guess ;)<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-25T16:38:44+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000524_book_review_slack.html">
<title>Book Review: Slack</title>
<link>http://blogs.codehaus.org/people/bob/archives/000524_book_review_slack.html</link>
<description><![CDATA[<p><a title="Amazon.com: Books: Slack : Getting Past Burnout, Busywork, and the Myth of Total Efficiency" href="http://www.amazon.com/exec/obidos/tg/detail/-/0767907698/qid=1072154339/sr=1-1/ref=sr_1_1/103-8430305-9663004?v=glance&s=books">Slack : Getting Past Burnout, Busywork, and the Myth of Total Efficiency</a> is a nice, quick read.  I'm glad it was only $11 and change, though, as it's not one that I'll be reading again anytime soon.  DeMarco's main point is that an <b>efficient</b> organization has no room to maneuver into being an <b>effective</b> organization.  He then spends 200 pages providing examples and specifics along with some remedies.  While not specifically a handbook of how to fix your organization, I think that by helping bring some of these faults to light, we can all start getting better.  After all, the first step to recovery is admitting that you have a problem.</p>

<blockquote>
Another entry in the small but growing management library that suggests purposely slowing down and smelling the roses could actually boost productivity in today's 24/7 world, Tom DeMarco's Slack stands out because it is aimed at "the infernal busyness of the modern workplace."</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-23T04:58:21+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000521_misguided_utilities.html">
<title>Misguided Utilities</title>
<link>http://blogs.codehaus.org/people/bob/archives/000521_misguided_utilities.html</link>
<description><![CDATA[<p><a href="http://www.jpevans.com/software/javas/">This set of utilities</a> seems somewhat misguided.</p>

<blockquote>Tired of writing the same old code over and over again to catch InterruptedExceptions on Thread.sleep() calls?</blockquote>

<p>The example that is so proudly displayed demonstrates how the library makes it easier to sleep without having to catch and ignore those apparently useless <code>InterruptedException
</code>
s.  What this fails to realize is that when an <code>InterruptedException
</code>
 is thrown, chances are, someone is trying to shut things down or otherwise do, I dunno, something <b>exceptional</b>.  If you're ignoring them, then you're not addressing the circumstances correctly.  You certainly don't need a library to help you ignore them more effeciently.</p>

<p><code>Thread.sleep(...)
</code>
 doesn't throw <code>InterruptedException
</code>
 just to annoy you.  It's done for a reason.  Understand the reason and code appropriately.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-22T07:16:24+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000515_cfp_oreilly_oss_convention_2004.html">
<title>CFP: O&apos;Reilly OSS Convention 2004</title>
<link>http://blogs.codehaus.org/people/bob/archives/000515_cfp_oreilly_oss_convention_2004.html</link>
<description><![CDATA[<p><a title="O'Reilly Open Source Convention 2004" href="http://conferences.oreillynet.com/cs/os2004/create/e_sess">O'Reilly Open Source Convention 2004</a> has issued a call for participation.</p>

<blockquote>Individuals and companies interested in making presentations or giving tutorials are invited to submit proposals using the form below. Proposals will be considered in two classes: tutorials and convention presentations (sessions). Presentations by marketing staff or with a marketing focus will not be accepted; neither will submissions made by anyone other than the proposed speaker.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-17T22:18:41+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000505_standards_are_great_everyone_should_have_one.html">
<title>Standards are great, everyone should have one.</title>
<link>http://blogs.codehaus.org/people/bob/archives/000505_standards_are_great_everyone_should_have_one.html</link>
<description><![CDATA[<p>"<a title="RELAX NG is now an International Standard" href="http://relaxng.org/pipermail/relaxng-user/2003-December/000199.html">RELAX NG is now an International Standard</a>" says James Clark.  Maybe this will remind folks that the <a href="http://www.w3c.org/">W3C</a> (or JCP or...) doesn't have a stanglehold on standards. </p>

<blockquote>I have just been informed that RELAX NG was published by ISO as an International Standard on 1st December 2003. The full title is: ISO/IEC 19757-2:2003 Information technology -- Document Schema Definition Language (DSDL) -- Part 2: Regular-grammar-based validation -- RELAX NG</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-16T00:13:38+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000497_first_groovy_release.html">
<title>First Groovy Release</title>
<link>http://blogs.codehaus.org/people/bob/archives/000497_first_groovy_release.html</link>
<description><![CDATA[<p><a title="[groovy-dev] groovy 1.0-beta-1 is out!" href="http://lists.codehaus.org/pipermail/groovy-dev/2003q4/000360.html">groovy 1.0-beta-1 is out!</a> proclaims James.  I've redeployed the website, so it should be the latest'n'greatest now.  Plus, it matches the new haus theme.  Much thanks to Sam for picking up much of my parser slack.  Even James started diving into it towards the end.</p>

<blockquote>This is the first ever release; so I'm sure there maybe mistakes or issues with the source / binary distro; we can fix any issues & do more releases much quicker now. A last minute feature that made it into the release (complete with typeo) thats not yet been documented is the script 'groovysh' which runs a groovy command shell. Its like the swing console but works on the command line - you just need to enter a blank line to execute a command (so hit CR twice).
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-11T15:55:51+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000496_getting_groovy_with_drools.html">
<title>Getting Groovy with Drools</title>
<link>http://blogs.codehaus.org/people/bob/archives/000496_getting_groovy_with_drools.html</link>
<description><![CDATA[<p><a title="drools/drools-groovy" href="http://cvs.codehaus.org/viewcvs.cgi/drools/drools-groovy/?root=codehaus">drools/drools-groovy</a> was imported by <b>James Strachan</b> yesterday.   There ya go, Ted.</p>

<blockquote>Current directory: [codehaus] / drools / drools-groovy<br>
Files shown: 8
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-10T10:50:12+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000495_snow.html">
<title>Snow!</title>
<link>http://blogs.codehaus.org/people/bob/archives/000495_snow.html</link>
<description><![CDATA[<p>Being from the south (by the grace of God?), we really haven't experienced much snow.  My son, particularly, has only seen about a 1/4-inch of snow on the ground.  So, for Christmas this year, we're fleeing to the Great White North to spend some time with our little Canadian friend <a href="http://blogs.codehaus.org/projects/maven/">Jason van Zyl</a>.  Of course, I made the mistake of going to Canada in January of this year, and swore I'd never do it again.  Memories of frozen hair and snow-blindness apparently fade all too quickly.  At least Noah will get to play in snow that is deeper than he is tall.  And that's what really matters.  Oh, and maybe we'll actually get some work done on the Maven book.</p>]]></description>
<dc:subject>Home</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-07T22:07:39+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000494_xqengine.html">
<title>XQEngine</title>
<link>http://blogs.codehaus.org/people/bob/archives/000494_xqengine.html</link>
<description><![CDATA[<p>Howard Katz recently announced <a title="XQEngine" href="http://xqengine.sourceforge.net/">XQEngine</a> on the [xml-dev] list.</p>

<blockquote>XQEngine is a compact (roughly 250K) embeddable component written in Java. It's not a standalone application and requires a reasonable amount of Java programming skill to use. It has a straightforward programming interface that makes that fairly easy to do. It's single-threaded and should work well as a personal productivity tool on a single desktop, as part of a CD-based application, or on a server with low to moderate traffic. (Making the engine thread-capable is not overly difficult and remains a future project.)
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-12-06T04:08:34+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000493_jsr94_proposed_final_draft.html">
<title>JSR-94 Proposed Final Draft</title>
<link>http://blogs.codehaus.org/people/bob/archives/000493_jsr94_proposed_final_draft.html</link>
<description><![CDATA[<p><a title="The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 94" href="http://www.jcp.org/en/jsr/detail?id=94">The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 94</a> mentions that JSR-94 has reached the <b>Proposed Final Draft</b> stage.  Yes, it's oldish news by now, but I finally got around to reading it.  Was pleased to see myself mentioned in the <b>Acknowledgements</b> section.</p>

<blockquote>Proposed Final Draft 29 Oct, 2003
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-11-28T01:34:15+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000492_elements_of_style.html">
<title>Elements of Style</title>
<link>http://blogs.codehaus.org/people/bob/archives/000492_elements_of_style.html</link>
<description><![CDATA[<p>I've been doing a <b>lot</b> of writing lately, and I've also learned that many folks simply are not familiar with <a title="Amazon.com: Books: The Elements of Style, Fourth Edition" href="http://www.amazon.com/exec/obidos/tg/detail/-/020530902X">The Elements of Style</a> by Strunk and White.  Everyone seems to own a copy of <b>The Elements of Java Style</b> or <b>The Elements of UML Style</b> but are somehow blissfully unaware of the origins of these books.</p>

<p>If you write, you <b>need</b> a copy of Strunk and White sitting right next to your Websters Collegiate Dictionary.</p>

<blockquote>The fact is, the vast majority of so-called book doctors are garbage. An exception would be Strunk and White's classic Elements of Style. It was originally written during WWI by William Strunk who was then a professor at Cornell, and it has since been updated by E.B.White, one of his former pupils. Strunk's strategy was to edit down the complexities of English grammar into those few basic elements which would help people to improve their writing skills. His central rule is simple: </blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-11-24T01:55:34+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000491_involuntary_switch.html">
<title>Involuntary Switch</title>
<link>http://blogs.codehaus.org/people/bob/archives/000491_involuntary_switch.html</link>
<description><![CDATA[<p>So, my mother-in-law called me the other day, asking me to diagnose her Windows Millenium Edition machine that'd freeze after running for about 10 minutes.   Now, I'm completely Windows ignorant, but I poked around anyhow.  Basically, all I could come up with was "ayup, you're right, it freezes after ten minutes."  I figured maybe I could upgrade to WinXP as a solution.  Upon further thought, I decided that was just a bandage to a bloody head wound.  After doing a cost/benefit analysis, considering the hours of my time over the lifetime of the in-law relationship, I simply decided to amputate and replace.</p>

<p>So, I knocked upon the door today with a bag of new hardware and said "congratulations, you're a Mac user now!"   She's now been vaulted into the 21st century with a G4 iBook, Airport Extreme, Wifi route/WAP combination and a bundle of new software.  It was easier than dying a slow death diagnosing Windows.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-11-17T00:19:13+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000490_business_rules_opinion.html">
<title>Business Rules (Opinion)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000490_business_rules_opinion.html</link>
<description><![CDATA[<p>So, I'm finally back from the <b>Business Rules Forum</b> and have one thought about what I witnessed.  One of the BoF sessions I attended was all about <b>rule management</b>, addressing concerns about rule authoring, permissions, analysis and deployment.  98% of the audience came from "the business side" of the enterprise.  A repeated theme was that they don't trust their business people necessarily to write and deploy rules.  They still want the IT staff involved to do rule analysis and the actual deployment.  Some audience members raised concerns that folks on the business side don't know how to write business rules.  This scares me.  If you're on the business side of the enterprise, your job is to write the rules, whether they are implemented via IT resources or if they are merely policies in a manual or the way you deal with customers.  <b>Business rules are the way you do business</b>, and IT is certainly not (or shouldn't be) the expert in that regard.</p>

<p>I'll admit that currently there are technical limitations to allowing business folks to write and deploy rules on IT infrastructure without the intervention of IT staff.  But ultimately, IT should be <b>transparent</b> and the people who write the rules (ie, who run the business) on a daily basis should simply be able to do so.  If a business person can't write business rules, perhaps he should be flipping burgers down at Krusty Burger.</p>

<p>Of course, I'm also fully aware that some/many business folks <b>don't know how to write rules</b> and only can keep their jobs because it takes IT quite a while to realized bogus rules in code, and by then, it's assumed that it's IT's fault the system doesn't work or make sense.  A transparent business rule facilitating technology will make the business side of the enterprise more directly accountable for their decisions.  Be careful what you wish for.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-11-07T17:42:17+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000489_my_head_is_going_to_explode.html">
<title>My Head Is Going To Explode</title>
<link>http://blogs.codehaus.org/people/bob/archives/000489_my_head_is_going_to_explode.html</link>
<description><![CDATA[<p>As noted previously, I'm attending the <b>Business Rules Forum</b> in Nashville (insert obligatory "yee-haw!" here).  In addition to being in the hotel where the Country Music Awards are taking place tonight, the BRF has been a veritable motherlode of knowledge.  This is the absolute first conference that has been beneficial to me.   In my head (and soon in some LaTeX) I've been sketching out some future directons for <b>drools</b> including rule management, repositories, deployment and analysis.</p>

<p>I've learned that the rule engine is but a small portion of the entire space of "business rules".  There's plenty of room to grow.  Nothing quite like a swift kick in the ass to get excited about a project again.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-11-05T16:59:28+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000488_agile_methods_and_enterprises.html">
<title>Agile Methods and Enterprises</title>
<link>http://blogs.codehaus.org/people/bob/archives/000488_agile_methods_and_enterprises.html</link>
<description><![CDATA[<p>So, I am attending the Business Rules Forum in Nashville this week (yee-haw!) and heard this quotable quote:</p>

<blockquote><b>Agile methods</b> don't produce <b>agile enterprises</b> because you're still writing code.
</blockquote>

<p>The context is, of course, that a business rule approach and technology can move a lot of your logic out of code entirely, allowing the enterprise itself to be agile.  If you're using agile methods to write code, you're still locking business logic up in a form that's not easily mutable.  Somewhat similar to doing <b>agile brick laying</b> instead of reconfigurable cubicle farms.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-11-04T20:09:25+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000487_best_keyboard_ever.html">
<title>Best Keyboard Ever</title>
<link>http://blogs.codehaus.org/people/bob/archives/000487_best_keyboard_ever.html</link>
<description><![CDATA[<p><a href="http://www.kinesis-ergo.com/advantage.htm">Kinesis Contoured Keyboard</a> is the best keyboard ever.  I've been using one for about five years now, and have finally come across others who use them.  If it weren't for the Kinesis, I'd have had to stop programming years ago due to chronic tendonitis.  These things rock.</p>

<p><img src="http://www.kinesis-ergo.com/images/500-blk.jpg"></p>

<blockquote>The Advantage USB contoured keyboard sets a new standard for ergonomic keyboards. The Advantage line incorporates the same advanced ergonomic design as our other contoured keyboards and delivers additional features not found on other USB keyboards.
</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-10-29T12:02:38+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000486_dont_trust_anyone_over_30.html">
<title>Don&apos;t Trust Anyone Over 30</title>
<link>http://blogs.codehaus.org/people/bob/archives/000486_dont_trust_anyone_over_30.html</link>
<description><![CDATA[<p>Well, today I entered the "untrustable" phase of my life.</p>

<p>Happy birthday to me!</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-10-29T09:39:36+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000485_conference_business_rules_forum.html">
<title>Conference: Business Rules Forum</title>
<link>http://blogs.codehaus.org/people/bob/archives/000485_conference_business_rules_forum.html</link>
<description><![CDATA[<p><a href="http://www.businessrulesforum.com/">Business Rules Forum 2003</a> is happening November 2-6 in Nashville (Nashvegas to those of us who have spent time in Tennessee).  I think I'm going to attempt to attend.</p>

<blockquote><b>Change is the only Constant</b>

<p>Your enterprise undergoes change all the time. Entering into new Markets. Introducing new Products. Complying with new Regulations. Making new Agreements with customers and suppliers. Changing business direction through mergers, acquisitions, alliances and divestitures. And the rate of change is increasing daily. Can your systems and procedures keep up?</p>

<p>A Business Rule Application is an Agile Application; one deliberately architected for continuous change in business logic. Even better, a Business Rule Application gives the control of Business Rules back to the business.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-10-17T19:25:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000484_blogref.html">
<title>blogref</title>
<link>http://blogs.codehaus.org/people/bob/archives/000484_blogref.html</link>
<description><![CDATA[<p>Been blogging on the <a href="http://blogs.codehaus.org/">hausblog</a> instead of here.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-10-08T19:50:00+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000483_xpath_and_soap_jaxen.html">
<title>XPath and SOAP (Jaxen)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000483_xpath_and_soap_jaxen.html</link>
<description><![CDATA[<p><a href="http://webservices.xml.com/pub/a/ws/2003/09/16/jaxen.html">Using XPath with SOAP</a> uses Jaxen to demonstrate how to frob SOAP stuff with XPath.</p>

<blockquote>XPath is a language for addressing parts of an XML document, used most commonly by XSLT. There are various APIs for processing XPath. For the purposes of this article I will use the open source Jaxen API. Jaxen is a Java XPath engine that supports many XML parsing APIs, such as SAX, DOM4J, and DOM. It also supports namespaces, variables, and functions.

<p>XPath is useful when you need to extract some information from an XML document, such as a SOAP message, without building a complete parser using JAXM (Java API for XML Messaging) or JAX-RPC (Java API for XML-Based RPC). Moreover, the loosely-coupled nature of web services suggests that the use of dynamic data extraction is sometimes better than using static proxies like the ones produced using JAX-RPC.</p>

<p>In the article I'll show a JAXM Web Service for calculating statistics and a generic JAXM client that uses the service, demonstrating the use of XPath for generic data extraction.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-26T11:04:32+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000482_cm_geeks.html">
<title>CM Geeks</title>
<link>http://blogs.codehaus.org/people/bob/archives/000482_cm_geeks.html</link>
<description><![CDATA[<p><a href="http://www.cmtoday.com/help.html">CM Today</a> is trying to revitalize itself and is looking for CM geeks to participate.</p>

<blockquote>Starting today (as in CM Today :-) ), we are gearing up for a greatly expanded CM Today, one you will find compelling, interesting, and hopefully even a little controversial. We hope to begin to share our new ideas and content with you in the coming weeks and months, so please check back often.

<p>And we want you to participate. We are looking for people to participate in CM Today both as contributors and maintainers. If you have an opinion you want to share, we want to hear it and give you the reach of CM Today to make sure others hear it, too. Please contact Alex Neihaus (alex@cmtoday.com) for information on how to participate.</p>

<p>Once again, thank you and stay tuned.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-26T10:57:00+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000481_yetanother_cache.html">
<title>Yet-Another Cache</title>
<link>http://blogs.codehaus.org/people/bob/archives/000481_yetanother_cache.html</link>
<description><![CDATA[<p><a href="http://jocache.sourceforge.net/">ShiftOne Java Object Cache</a> is yet-another cache library.  Seems nice, small and focussed.</p>

<blockquote>JOCache is a Java library that implements strict object caching.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-24T23:05:41+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000480_bytecode_library.html">
<title>Bytecode Library</title>
<link>http://blogs.codehaus.org/people/bob/archives/000480_bytecode_library.html</link>
<description><![CDATA[<p><a href="http://opensource.nailabs.com/jbet/">Java Binary Enhancement Tool</a> from Network Associates is surprisingly licensed under a BSD-esque license.</p>

<blockquote>The Java Binary Enhancement Tool (JBET) is a general Java program analysis and manipulation tool. Existing class files can be disassembled, reassembled, or edited programmatically through the JBET API. JBET can also be used to create new Java class files from scratch. JBET uses a convenient internal representation of all the contents of Java binary (.class) files, allowing the user to edit the classes easily, in a structured manner.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-22T23:13:27+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000479_continuous_integration.html">
<title>Continuous Integration</title>
<link>http://blogs.codehaus.org/people/bob/archives/000479_continuous_integration.html</link>
<description><![CDATA[<p><a href="http://www.cmcrossroads.com/newsletter/sep03.html">Continuous Integration</a> is the topic in this month's Crossroads News.</p>

<blockquote>With the growing acceptance of rapid development techniques in many development organizations the notion of continuous integration of changes has also become commonplace. Continuous Integration involves an automated process in which developers changes are either continually or on a periodically introduced into the application as they are checked into the source code repository. 
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-22T20:01:30+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000478_talk_like_a_pirate.html">
<title>Talk Like A Pirate</title>
<link>http://blogs.codehaus.org/people/bob/archives/000478_talk_like_a_pirate.html</link>
<description><![CDATA[<p><a href="http://www.talklikeapirate.com/piratehome.html">Talk Like A Pirate Day</a> is September 19.</p>

<blockquote>However you got here, stick around an' get yerself ready for September 19 - International Talk Like A Pirate Day!
</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-18T18:31:36+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000477_eurobob_in_14_days.html">
<title>EuroBob in 14 Days</title>
<link>http://blogs.codehaus.org/people/bob/archives/000477_eurobob_in_14_days.html</link>
<description><![CDATA[<p>More like 15, since I lose a day in flight, but just a reminder that my lovely wife and I will be in Amsterdam from the 30th of this month until the 13th of October.  So, if you want to chat about <b>drools</b>, <b>werkflow</b>, <b>groovy</b> or anything else of interest, or you're arriving early for the JBoss Bootcamp, let me know and let's hook up for a chat.  I won't be attending the actual JBoss Bootcamp due to scheduling conflicts.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-15T01:53:32+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000476_rip_warren_zevon.html">
<title>RIP: Warren Zevon</title>
<link>http://blogs.codehaus.org/people/bob/archives/000476_rip_warren_zevon.html</link>
<description><![CDATA[<p><a href="http://www.chartattack.com/damn/2003/09/0808.cfm">Warren Zevon has passed</a>.  My thoughts go out to his friends and family.  I never got a chance to see him perform live, but I have had the pleasure of hanging out with his cousin Larry.  </p>

<blockquote>Singer-songwriter Warren Zevon died yesterday (September 7) after a much-publicized fight with lung cancer. The 56-year-old musician died peacefully at his home in Los Angeles while taking an afternoon nap.
</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-08T20:05:23+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000475_bpmn.html">
<title>BPMN</title>
<link>http://blogs.codehaus.org/people/bob/archives/000475_bpmn.html</link>
<description><![CDATA[<p><a href="http://xml.coverpages.org/ni2003-08-29-a.html">BPMN</a>, the Business Process Modeling Notation, has been released by BPMI.  BPMN is a graphic notation for workflows and choreography.</p>

<blockquote>The Business Process Management Initiative (BPMI.org) today announced the release of the public draft for the Business Process Modeling Notation (BPMN 1.0) providing a readily understandable, royalty-free notation designed for both business process design and business process implementation. As an amalgamation of best practices within the business modeling community, BPMN provides a simple, standardized means of communicating process information to other business users, process implementers, customers, and suppliers.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-02T00:24:46+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000474_deskcat.html">
<title>Deskcat</title>
<link>http://blogs.codehaus.org/people/bob/archives/000474_deskcat.html</link>
<description><![CDATA[<p>Velcro is the matron of the household, rounding out about 8 years now, I think.  She's pretty much permanently attached to my desk, hence the dedicated cat pillow.  Thank your lucky stars that I'm not tossing all 6 cats on the blog. </p>

<p><center><br />
<img alt="velcro.jpg" src="http://blogs.werken.com/people/bob/archives/velcro.jpg" width="200" height="150" border="0" /><br />
</center></p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-09-01T20:59:40+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000473_ucm_central_config_mgmt_site.html">
<title>UCM Central: Config Mgmt Site</title>
<link>http://blogs.codehaus.org/people/bob/archives/000473_ucm_central_config_mgmt_site.html</link>
<description><![CDATA[<p><a href="http://www.snuffybear.com/ucmcentral.htm">UCM Central</a> seems to be a nice little collection of things related to <b>configuration management</b>.</p>

<blockquote>UCMcentral is a popular non commercial "Coffee Break" site providing support and education in the field of  Configuration Management. It is the intention of this site to promote CM in both traditional and new areas of technology. 
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-08-25T00:05:14+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000472_eurotour_update.html">
<title>EuroTour Update</title>
<link>http://blogs.codehaus.org/people/bob/archives/000472_eurotour_update.html</link>
<description><![CDATA[<p>We'll definitely be in Amsterdam from 30th of September until the 9th of October.  Got some meetings to attend, and a haus party to throw, so if you've in the vicinity, holler, and we'll hook up.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-08-24T22:49:44+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000471_youre_in_pain_country.html">
<title>You&apos;re in Pain Country</title>
<link>http://blogs.codehaus.org/people/bob/archives/000471_youre_in_pain_country.html</link>
<description><![CDATA[<p>Good gravy.  I can't understand how otherwise intelligent developers think that doing development on Windows is a Good Idea.  I've spent the last 3 days ostensibly wasting time fighting Win2k in order to debug some Java that works just fine on Linux and OSX but fails to operate correctly on Win32.  Luckily, I've had VMWare at my disposal, but the window hosting Windows is just like a pit of hell.</p>

<p>Even adding Cygwin is not sufficient to make using Windows fun.  I guess I've gotten used to the Unix way of things, and window managers with 10 virtual screens, and console windows that I can resize, even horizontally, by just dragging.  I'm starting to think that I should add a Win32 surchage to my daily rate when forced to deal with this toy of an operating system.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-08-24T22:47:03+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000470_transactions_and_rules.html">
<title>Transactions and Rules</title>
<link>http://blogs.codehaus.org/people/bob/archives/000470_transactions_and_rules.html</link>
<description><![CDATA[<p>Over the weekend, I had the distinct pleasure of spending some time with Thomas Diesler, the man behind the <b>JSR-94</b> binding for <a href="http://drools.org/">drools</a>.  We knocked around a few ideas for improving drools to make it "enterprise-grade" mostly involving distributed transactions.</p>

<p>Hopefully sometime soon I'll get the opportunity to return to drools to implement some of these ideas.  Particularly interesting would be to allow a working-memory to participate in an XA transaction so that rules may be fired upon commit or even be used to abort a transaction involving multiple resources.</p>

<p>Additionally, we noodled around with some ideas regarding using drools in a distributed cache environment for scalability, in addition to not-in-memory fact bases such as JDBC datasources (or more appropriately, JCA datasources).</p>

<p>So, no, not much content in this entry.  Just noting that sometimes you have to connect with someone in real life to breath some enthusiasm back into a project.  Plus, my blog had rolled all entries, and was completely blank.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-08-20T00:49:29+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000469_a_sad_day.html">
<title>A Sad Day</title>
<link>http://blogs.codehaus.org/people/bob/archives/000469_a_sad_day.html</link>
<description><![CDATA[<p>Well, today is a sad day.  The <a href="http://www.cariboucoffee.com/">Caribou Coffee</a> store where I met the coffee-wench who'd become my wife closed its doors for good today.  It had great coffee, a lovely porch, and was within Wifi range of the T-Mobile at the Starbucks across the street.</p>

<p>I mourn its passing.  Good thing a <a href="http://www.jitteryjavas.com/">new coffeeshop</a> with gratis Wifi has opened nearby.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-28T15:26:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000468_xsym_2003.html">
<title>XSym 2003</title>
<link>http://blogs.codehaus.org/people/bob/archives/000468_xsym_2003.html</link>
<description><![CDATA[<p>Akmal Chaudhri has announced the XML Database Symposium (<a href="http://www.lirmm.fr/~bella/XSym/">XSym'03</a>) in Berlin.</p>

<blockquote>The Extensible Markup Language (XML) is playing an increasingly important role in the exchange of a wide variety of data on the Web and elsewhere. The database community is interested in XML because it can be used to represent data that originates in repositories by providing structure and the possibility of adding type information.

<p>The symposium theme is the combination of Database and XML Technologies. Today, we see growing interest in using these technologies together for many web-based and database-centric applications. XML is being used to publish data from database systems to the Web by providing input to content generators for Web pages, and database systems are increasingly used to store and query XML data, often by handling queries issued over the Internet. As database systems increasingly start talking to each other over the Web, there is a fast growing interest in using XML as the standard exchange format for distributed query processing. As a result, many relational database systems export data as XML documents and import data from XML documents and provide query and update capabilities for XML data. In addition, so called native XML database and integration systems are appearing on the database market, whose claim is to be especially tailored to store, maintain and easily access XML-documents.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-23T23:29:48+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000467_antlr_cabal_2003.html">
<title>ANTLR Cabal 2003</title>
<link>http://blogs.codehaus.org/people/bob/archives/000467_antlr_cabal_2003.html</link>
<description><![CDATA[<p>There's some notes and such from the <a href="http://www.antlr.org/workshop/cabal-2003/index.html">ANTLR Cabal 2003</a>.</p>

<blockquote>We met in Medford, Oregon for 3 days July 12-14, 2003 to discuss the future of ANTLR. Specifically, we wanted to discuss what a future version of ANTLR (3.0) would look like. We made a list of what we didn't like about the current system and made a wishlist for ANTLR 3. There are four raw, stream-of-consciousness documents that resulted from the cabal. The documents are summarized and linked to below. Feel free to comment on the documents to the antlr-interest list, but the real "request for comments" will occur once a real whitepaper has been flessed out. 
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-17T18:56:47+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000466_anthem.html">
<title>Anthem</title>
<link>http://blogs.codehaus.org/people/bob/archives/000466_anthem.html</link>
<description><![CDATA[<p><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0451191137/qid=1058329826/sr=8-1/ref=sr_8_1/102-4495276-5096125?v=glance&s=books&n=507846">Anthem</a> by Ayn Rand is simply a darn good read, especially considering recent activity regarding <b>community</b> and <b>Marxism</b> and other politico-economic discussions floating around out there.</p>

<blockquote>Ayn Rand's Anthem is a short dystopic novel about a man who escapes a society from which all individuality has been squeezed. Its allegory is crudely transparent, and the ideas have lost their political urgency. (The book was published in 1938, a decade before Orwell's 1984.) But Anthem provides a good introduction to Rand's philosophy of "objectivism," which is built on individuality, freedom, and reason. 
</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-16T00:57:55+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000465_the_politics_of_opensource_software.html">
<title>The Politics of Open-Source Software</title>
<link>http://blogs.codehaus.org/people/bob/archives/000465_the_politics_of_opensource_software.html</link>
<description><![CDATA[<p><a href="http://news.com.com/2010-1071_3-1025268.html">Declan McCullagh</a> writes about Mike Wendy and the <b>Initiative for Software Choice</b>.  ISC is apparently fighting against legislation that attempts to give open-source preferential treatment by the government.  While I'm certainly a big open-source advocate, I'm also a big fan of free markets.  So, I'd agree that giving open-source preferntial treatment is <b>not</b> what we need.  If open-source can't compete with "the big boys", even when factoring in license costs, so be it.</p>

<blockquote>ARLINGTON, Va.--Mike Wendy says he doesn't hate open-source software.

<p>Wendy, spokesman and policy counsel for the Initiative for Software Choice (ISC), says he just wants to make sure government agencies don't unduly favor open-source or free programs over proprietary software.</p>

<p>"We want a process that is not based on automatic preferences," Wendy said.<br />
</blockquote></p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-14T20:12:22+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000464_information_wants_to_be_free.html">
<title>Information wants to be free</title>
<link>http://blogs.codehaus.org/people/bob/archives/000464_information_wants_to_be_free.html</link>
<description><![CDATA[<p><a href="http://www.cnn.com/2003/TECH/science/07/12/journal.protest.ap/index.html">CNN has an article</a> about proposed legislation to allow public access to publically-funded research papers.  Only makes sense to me, since it's our tax dollars being spent.  I've got my receipt around here somewhere...</p>

<blockquote>BERKELEY, California (AP) -- A number of prominent scientists got some support from a congressman in challenging the way their publicly funded research papers are handled by for-profit journals.
Congressman Martin Sabo, a Minnesota Democrat, has introduced legislation that would give immediate public access to all research papers created mostly with federal money, regardless of which journal publishes them.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-12T18:32:57+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000463_drools_20beta11.html">
<title>drools 2.0-beta-11</title>
<link>http://blogs.codehaus.org/people/bob/archives/000463_drools_20beta11.html</link>
<description><![CDATA[<p>Thomas rolled 2.0-beta-11 of <a href="http://drools.org/releases.html">drools</a> out the door.</p>

<blockquote>The latest official build is 2.0-beta-11 .</blockquote>

<p>This is mainly a checkpoint for folks before heading down the path to 2.0 beta-12 on the way to 2.0-final.  The <a href="http://jira.codehaus.org/secure/BrowseProject.jspa?id=10000&report=roadmap">roadmap</a> will give you an idea of where we're heading.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-11T08:47:51+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000462_eurotour_03.html">
<title>EuroTour &apos;03</title>
<link>http://blogs.codehaus.org/people/bob/archives/000462_eurotour_03.html</link>
<description><![CDATA[<p>So, it looks like Rebecca (see <i>wife</i>) and I will probably be jumping the pond towards EuroLand around September/October.  Current stops include Munich and probably Amsterdam.  It's partially a business trip for me, so if you're in the vicinity (or within a few hours train/plane time), want to chat business, and more importantly, care to put us up for a night or two, drop me a line.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-05T22:42:07+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000461_publish_or_perish.html">
<title>Publish or Perish</title>
<link>http://blogs.codehaus.org/people/bob/archives/000461_publish_or_perish.html</link>
<description><![CDATA[<p>PapersInvited claims to be (and I have no reason to doubt it) the <a href="http://www.papersinvited.com/">largest listing of call for papers in all areas of specialization</a>.</p>

<blockquote>PapersINVITED.com was conceived and developed to assist those numerous scientists, professors and student researchers who have had a difficult time in tracking Calls for Papers from professional bodies, universities, journal editors and other conference organizers.

<p>PapersINVITED.com brings an exhaustive list of Calls for Papers in all areas of specialization to your fingertips.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-03T16:04:51+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000460_morphon_free_xml_editor.html">
<title>Morphon: Free XML Editor</title>
<link>http://blogs.codehaus.org/people/bob/archives/000460_morphon_free_xml_editor.html</link>
<description><![CDATA[<p><a href="http://www.morphon.com/xmleditor/index.shtml">Morphon  XML Editor</a> is now free-as-in-beer.</p>

<blockquote>Morphon XML-Editor now available under a free software license

<p>The Morphon XML-Editor is now being offered under a free license, there are no strings attached. Morphon Technologies would like to increase the user base of the Morphon XML-Editor. Having a larger and varied user base will help us understand better the future needs of our users.</p>

<p>To use the free XML editor, you will no longer need a license key. You simply have to register (optional) and then download Morphon. The software is fully functional with no crippling features, no time limit to usage.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-03T09:58:48+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000459_the_beautiful_people.html">
<title>The Beautiful People</title>
<link>http://blogs.codehaus.org/people/bob/archives/000459_the_beautiful_people.html</link>
<description><![CDATA[<p><a href="http://www.angelfire.com/tx4/cus/people/">The people behind the languages</a> we all use...</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-02T22:39:23+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000458_saxon_76_xpath_2_and_xquery_support.html">
<title>Saxon 7.6 (XPath 2 and XQuery support)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000458_saxon_76_xpath_2_and_xquery_support.html</link>
<description><![CDATA[<p><a href="http://saxon.sourceforge.net/saxon7.6/index.html">Saxon 7.6 introduces support for XQuery alongside XSLT</a>.</p>

<blockquote>Release 7.6 is the latest installment of my experimental implementation of the new XPath 2.0 and XSLT 2.0 specifications. For the first time, this release also includes support for XQuery 1.0. In all cases, the product is aligned with the working drafts published on 2 May 2003, though of course not all features are implemented.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-01T22:55:01+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000457_freecache.html">
<title>FreeCache</title>
<link>http://blogs.codehaus.org/people/bob/archives/000457_freecache.html</link>
<description><![CDATA[<p>James Taylor pointed me towards <a href="http://www.archive.org/web/freecache.php">FreeCache</a>.</p>

<blockquote>FreeCache is a system of

<p>    * cooperating caches to move<br />
    * large files of<br />
    * free content<br />
    * closer to users.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-07-01T16:37:51+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000456_more_scm_and_agility.html">
<title>More SCM and agility</title>
<link>http://blogs.codehaus.org/people/bob/archives/000456_more_scm_and_agility.html</link>
<description><![CDATA[<p><a href="http://www.cmcrossroads.com/newsletter/articles/agilejun03.html">Characteristics of the Agile SCM Solution</a> by Appleton, Berczuk and Konieczka (should we call them the <b>gang of three</b>?) continues the analysis of SCM within an agile environment.</p>

<blockquote>Around the turn of the Century, (year 2k), we began seeing software projects that were attempting to try a new development approach called Agile. Most were implementing Extreme Programming, and their reasons were to reduce cost, improve software quality, better manage project risk, and to offer the business quicker functionality in the form of frequent releases incorporating smaller sets of change.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-30T22:45:13+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000455_jaxensaxpath_updates.html">
<title>Jaxen/SaxPath updates</title>
<link>http://blogs.codehaus.org/people/bob/archives/000455_jaxensaxpath_updates.html</link>
<description><![CDATA[<p>Scott Sanders has issued a humourous and informative press release entitled <a href="http://dotnot.org/blog/index.php?p=48">Jaxen executes (not so) hostile takeover of SaxPath</a>.  The Jaxen project is much indebted to Scott for his recent activity trying to get Jaxen to a 1.1 release.</p>

<blockquote>Today, the surprising hostile takover by Jaxen of SaxPath was announced and executed. The code formerly in the org.saxpath.* namespace will now live in the org.jaxen.saxpath.* namespace. Jaxen 1.1 beta2 will soon be released to include this functionality. If you are currently using SaxPath for something else and want to upgrade, you just need to change the package name, as everything else is the same.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-29T14:50:21+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000454_robin_remote_xul_desktop.html">
<title>Robin: Remote XUL Desktop</title>
<link>http://blogs.codehaus.org/people/bob/archives/000454_robin_remote_xul_desktop.html</link>
<description><![CDATA[<p><a href="http://article.gmane.org/gmane.comp.lang.xul.announce/40">Robin: Remote XUL Desktop</a> seems like a really cool hack.</p>

<blockquote>Randall Knutson has released the first prototype for a remote desktop using XUL. Point your Mozilla XUL browser (e.g. Firebird) @ http://robin.sourceforge.net to call up a fresh desktop with a startup menu and play XulMine, Mozteroids, Pagman, Snake, Xultris, MozInvaders and more. What is Robin? Here's the "official" blurb from the sourceforge project site: Remote Operating System Build in Netscape (Robin) is a window manager using DHTML, Javascript, XUL and some crazy hacks.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-28T19:37:47+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000453_adsensible.html">
<title>AdSensible</title>
<link>http://blogs.codehaus.org/people/bob/archives/000453_adsensible.html</link>
<description><![CDATA[<p>You may now notice that I'm participating in <a href="https://www.google.com/adsense/">Google AdSense</a>.  Anything for a buck, eh?</p>

<blockquote>Google AdSense is for web publishers who want to make more revenue from advertising on their site while maintaining editorial quality. AdSense delivers text-based Google AdWords ads that are relevant to what your readers see on your pages --- and Google pays you.
</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-28T17:47:07+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000452_free_books.html">
<title>Free books</title>
<link>http://blogs.codehaus.org/people/bob/archives/000452_free_books.html</link>
<description><![CDATA[<p><a href="http://bookcrossing.com/home">BookCrossing</a> seems like a cool idea.  It's sort of a catch-and-release program for books.  Even seems pretty active in my backwards part of Georgia.</p>

<blockquote>You've come to a friendly place, and we welcome you to our book-lovers' community. What is BookCrossing, you ask? It's a global book club that crosses time and space. It's a reading group that knows no geographical boundaries. Do you like free books? How about free book clubs?. Well, the books our members leave in the wild are free... but it's the act of freeing books that points to the heart of BookCrossing. Book trading has never been more exciting, more serendipitous, than with BookCrossing. Our goal, simply, is to make the whole world a library. BookCrossing is a book exchange of infinite proportion, the first and only of its kind.
</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-18T11:19:58+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000451_d2td2.html">
<title>d^2td^2</title>
<link>http://blogs.codehaus.org/people/bob/archives/000451_d2td2.html</link>
<description><![CDATA[<p>On a recent project, I've decided to take a lateral step from <b>test-driven development</b> towards <b>documentation-driven test-driven development</b>, or <b>d<sup>2</sup>td<sup>2</sup></b>. </p>

<p>Basically, I write the docs so I have the requirements, which allows me to write the tests, which then help write the code itself.  Things that make sense while writing the tests or code start looking goofy sometimes when you have to describe them in prose documentation.  So, if you feel like an ass trying to describe how to use a component, that's a code smell that means you probably need to refactor.</p>

<p>So, I'd like to solicit experiences from others if you've used this type of development before.  Most everywhere I've worked, either commercially or on open-source, documentation was an afterthought.  Drop a comment or email <b>bob@werken.com</b>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-15T22:45:50+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000450_antlraux_stuff_for_antlr.html">
<title>antlraux: stuff for antlr</title>
<link>http://blogs.codehaus.org/people/bob/archives/000450_antlraux_stuff_for_antlr.html</link>
<description><![CDATA[<p><a href="http://imaginatica.us.es/~enrique/antlraux/">Antlraux</a> has been announced by Enrique José García Cota.  Seems to be quite the useful collection of accessories for <a href="http://antlr.org/">antlr</a>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-12T18:16:23+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000449_jmxp_jmx_over_beep.html">
<title>JMXP: JMX over BEEP</title>
<link>http://blogs.codehaus.org/people/bob/archives/000449_jmxp_jmx_over_beep.html</link>
<description><![CDATA[<p><a href="http://www.ietf.org/internet-drafts/draft-harold-jmxp-00.txt">draft-harold-jmxp-00.txt</a> describes a remote protocol for <b>Java Management Extension</b> over BEEP channels. </p>

<blockquote>JMXP is an application protocol that provides access to information about a JMX Agent's MBeanServer and the MBeans registered with that MBeanServer. JMXP also provides a mechanism for transmitting the Notifications emitted by a JMX Agent's MBeans to remote clients.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-09T02:10:30+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000448_guru_node_proximate_geeks.html">
<title>Guru node: proximate geeks</title>
<link>http://blogs.codehaus.org/people/bob/archives/000448_guru_node_proximate_geeks.html</link>
<description><![CDATA[<p>Last night, had the extreme pleasure of meeting and chatting with Peter Royal and his wife.  Peter's one of the <b>apache-avalon</b> hackers and has recently taken the lead on <b>blissed</b>.  We originally crossed paths when he adapted <b>jaxen</b> to his application's non-XML object-model.</p>

<p>Anyhow, a night shooting the breeze on a variety of topics with a guru was certainly more edifying and enjoyable than spending time at the JUG.  I also, once again, learned why I like to stay out of downtown Atlanta.  Crowds, one-way streets, turn-only lanes.  Yum.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-08T19:24:20+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000447_citeseerfun_job.html">
<title>CiteSeer/Fun Job</title>
<link>http://blogs.codehaus.org/people/bob/archives/000447_citeseerfun_job.html</link>
<description><![CDATA[<p>Just my bi-annual reminder that <a href="http://citeseer.nj.nec.com/">CiteSeer</a> rocks.  I'm currently studying up on consensus algorithms and protocols for my current gig.  I'll probably summarize in a few days with links to various papers I've found to be useful.  It's days like these that I wake up and I'm heartily glad I'm not working on yet-another web-based CRUD system.</p>

<blockquote>CiteSeer is a scientific literature digital library that aims to improve the dissemination and feedback of scientific literature, and to provide improvements in functionality, usability, availability, cost, comprehensiveness, efficiency, and timeliness.

<p>Rather than creating just another digital library, CiteSeer provides algorithms, techniques, and software that can be used in other digital libraries. CiteSeer indexes Postscript and PDF research articles on the Web, and provides the following features.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-05T17:28:58+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000446_baan_the_unloved.html">
<title>Baan, the unloved</title>
<link>http://blogs.codehaus.org/people/bob/archives/000446_baan_the_unloved.html</link>
<description><![CDATA[<p>InfoWorld is reporting (as are some ex-cow-orkers of mine) that <a href="http://www.infoworld.com/article/03/06/03/HNbaansold_1.html">Baan will be sold to a US investor group</a>.</p>

<p>I used to work for CAPS Logistics, which was owned by Baan, which was owned by Invensys.  CAPS was my only foray into large corporate empires where the org chart is so large it stops making any sort of sense.</p>

<blockquote>A U.S. investment group has agreed to buy Baan a Dutch business software company, from Invensys and merge the unit with another software company in a move to broaden the product and customer base of the new venture.

<p>Invensys has sold Baan to the U.S. private investment group, consisting of Cerberus Capital Management and General Atlantic Partners, for $135 million, the London company said Tuesday in a statement.</p>

<p>The deal comes several weeks after Invensys said it wanted to put Baan up for sale.<br />
</blockquote></p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-05T10:30:01+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000445_another_carbon.html">
<title>Another Carbon</title>
<link>http://blogs.codehaus.org/people/bob/archives/000445_another_carbon.html</link>
<description><![CDATA[<p><a href="http://carbon.sourceforge.net/">The Carbon Component Framework</a> seems to be somewhat a mix between Avalon and JBoss.</p>

<blockquote>Carbon is a light-weight component model that serves as the foundation for a services based architecture. Carbon has the following objectives:

<p>    * Create a more flexible architecture via a decoupled, metadata-centric system<br />
    * Reduce complexity by providing access to services as small replaceable components<br />
* Encourage the separation of concerns, resulting in code assets that are easier to maintain, adapt and reuse in a complex and dynamic operating environment<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-05T02:41:46+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000444_core_developers_network_jbossgroup_fork.html">
<title>Core Developers Network (JBossGroup Fork)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000444_core_developers_network_jbossgroup_fork.html</link>
<description><![CDATA[<p><a href="http://www.theinquirer.net/?article=9850">The JBoss Group forks</a> and takes some developers <a href="http://www.coredevelopers.net"/>with it</a>.</p>

<blockquote>8:00 am -- Seven consultants for The JBoss Group publicly announced the immediate termination of their contracts and the foundation of their new company, Core Developers Network. Their charter "is to provide a commercial infrastructure to enable open source contributors to deliver their professional expertise to the marketplace, independent of their contributions to open source projects".

<p>The JBoss Group has been forked. And I'm here in San Francisco to tell you about it. <br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-04T12:16:13+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000443_haystack_and_the_semantic_web.html">
<title>Haystack and The Semantic Web</title>
<link>http://blogs.codehaus.org/people/bob/archives/000443_haystack_and_the_semantic_web.html</link>
<description><![CDATA[<p><a href="http://haystack.lcs.mit.edu/index.html">Haystack</a> calls itself <b>the universal information client</b>.</p>

<blockquote>Our research seeks to bring modern information management and retrieval technologies to the average computer user in order to make computers a more compelling place for users to interact with their information. Haystack looks into the use of artificial intelligence techniques for analyzing unstructured information and providing more accurate retrieval. We also deal with the modeling, management, and display of user data in more natural and useful ways.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-02T19:23:12+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000442_ai_depot.html">
<title>AI Depot</title>
<link>http://blogs.codehaus.org/people/bob/archives/000442_ai_depot.html</link>
<description><![CDATA[<p><a href="http://ai-depot.com/">AI Depot</a> seems to be a pretty robust collection of stuff about, well, artificial intelligence.</p>

<blockquote>If you're interested in AI, you've come to the right place! The Artificial Intelligence Depot is a site purely dedicated to AI bringing you daily news and regular features, providing you with community interaction as well as an ever growing database of knowledge resources. Whether you are a complete beginner, experienced programmer, computer games hacker or academic researcher, you will find something to suit your needs here.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-06-01T20:16:48+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000441_java_and_atlanta.html">
<title>Java and Atlanta?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000441_java_and_atlanta.html</link>
<description><![CDATA[<p>I went to an <a href="http://ajug.org/">Atlanta Java Users Group</a> meeting last night, briefly.  This was the second time I've been, and the second time I've left after a mere 30 minutes.  Maybe JUGs just aren't my scene, but I got the impression that most folks were either newbies, or the big fish in a small pond at their particular company.  It was "Guru Night" where the presenters shared what it takes to be "the go-to guy" in your shop.  I frankly wasn't impressed by what it takes to acheive the "guru" moniker these days.</p>

<p>So, here're my questions: Are there any hard-core java developers in Atlanta?  Any of you guys want to meet for coffee?  Or should I go to C/C++ users groups for mental stimulation, and avoid all of the java weenies?</p>

<p><b>addendum:</b> Just to clarify, I do <b>not</b> think of myself as a guru.  I'm looking for real gurus who can stretch my mind and ways of thinking.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-05-21T12:14:41+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000440_udell_on_rules_infoworld.html">
<title>Udell on rules @ InfoWorld</title>
<link>http://blogs.codehaus.org/people/bob/archives/000440_udell_on_rules_infoworld.html</link>
<description><![CDATA[<p><a href="http://www.infoworld.com/article/03/05/16/20OPstrategic_1.html">InfoWorld: Tools for rules</a> by Jon Udell even mentions drools.</p>

<blockquote>The dust was thick on my copy of the 1985 Clocksin and Mellish classic, Programming Prolog. But Ted Neward, author of the forthcoming book Effective Enterprise Java, brought it all rushing back: expert systems, declarative rules engines, predicate calculus, backward- vs. forward-chaining evaluation.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-05-17T16:57:33+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000439_xquery_talk.html">
<title>XQuery talk</title>
<link>http://blogs.codehaus.org/people/bob/archives/000439_xquery_talk.html</link>
<description><![CDATA[<p>Jason Hunter of JDOM fame has started a list for folks who want to <a href="http://www.x-query.com/#talk">talk about xquery</a>.</p>

<blockquote>We strongly recommend people interested in XQuery join the talk@x-query.com mailing list. This list is for practical discussion about XQuery: a place to work together to learn a new language, talk about problem solutions, discuss engines and implementations, chat about the latest announcements, and so on. 
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-05-11T16:35:37+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000438_blogscodehausorg.html">
<title>blogs.codehaus.org</title>
<link>http://blogs.codehaus.org/people/bob/archives/000438_blogscodehausorg.html</link>
<description><![CDATA[<p><a href="http://blogs.codehaus.org/">blogs.codehaus.org</a> is now up and running.</p>

<blockquote>Got the blogging system set up today.

<p>MovableType is now available for hausmates or projects.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-05-04T20:24:09+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000437_gartner_on_rule_engines.html">
<title>Gartner on Rule Engines</title>
<link>http://blogs.codehaus.org/people/bob/archives/000437_gartner_on_rule_engines.html</link>
<description><![CDATA[<p><a href="http://www.gartner.com/reprints/pegasystems/114166.html">The Business Rule Engine 2003 Magic Quadrant</a> does <b>not</b> mention drools.</p>

<blockquote>Business rule engines are moving toward maturity. In 2003, they will support business agility when called on to do so. 
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-05-03T10:17:04+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000436_xrml.html">
<title>XRML</title>
<link>http://blogs.codehaus.org/people/bob/archives/000436_xrml.html</link>
<description><![CDATA[<p><a href="http://xrml.kaist.ac.kr/">XRML</a></p>

<blockquote>Extensible Rule Markup Language (XRML) can support the automatic processing of implicit rules embedded in the hypertexts and help human browse them for their comprehension. The topology of XRML in contrast to XML and HTML is shown in Figure 1. XRML aims to convert itself to XML for browsing, and assist the generation and maintenance of consistent explicit rule structure
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-05-03T01:12:51+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000435_scm_and_agile_development.html">
<title>SCM and Agile Development</title>
<link>http://blogs.codehaus.org/people/bob/archives/000435_scm_and_agile_development.html</link>
<description><![CDATA[<p><a href="http://news.cmcrossroads.com/apr03.html">Crossroads News April 2003</a> issue is about Agile Development and SCM. </p>

<blockquote>This month the Crossroads News writers discuss the issues surrounding SCM for agile development projects and how to make SCM itself be more agile. We also welcome author and SCM evangelist Brad Appleton as our newest Contributing Editor with his regular column Agile SCM.  
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-04-22T21:22:49+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000434_welcome_to_codehaus_qdox.html">
<title>Welcome to codehaus, QDox</title>
<link>http://blogs.codehaus.org/people/bob/archives/000434_welcome_to_codehaus_qdox.html</link>
<description><![CDATA[<p>I'd like to welcome <a href="http://qdox.codehaus.org/">QDox, the Quick JavaDoc Scanner project</a> to <a href="http://codehaus.org/">codehaus</a>.</p>

<blockquote>QDox is a high speed, small footprint parser for extracting class/interface/method definitions from source files complete with JavaDoc @tags. It is designed to be used by active code generators or documentation tools.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-04-20T22:30:53+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000433_xpathng_revival.html">
<title>XPath-NG Revival</title>
<link>http://blogs.codehaus.org/people/bob/archives/000433_xpathng_revival.html</link>
<description><![CDATA[<p><a href="http://lists.fourthought.com/pipermail/xpath-ng/2003-April/000195.html">[Xpath-ng] Revival/XPath NG "sprint" at XML Europe?</a> by Uche Ogbuji attempts to relight the fire under XPath-NG.  I was recently discussing the fall-off of the work with some folks at SD-West, so I'm glad to see some momentum possibly increase.</p>

<blockquote>I'd rather not see this effort go gently into that good night. XQuery and cousins will be REC pretty soon, and I still strongly think the world needs an alternative. Basically, I think all we need to provide something people can latch on to is a refinement of my original straw man to take into account all the discussion that followed, and putting together a couple of foundational modules. I think if we were able to get together for a few hours at XML Europe, we could probably get most of the former done, and start useful discussion of the latter. I know that a decent number of the folks here will be at XML Europe, so what do you think of the idea? 
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-04-17T14:20:21+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000432_are_you_just_replacing_the_carpet.html">
<title>Are you just replacing the carpet?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000432_are_you_just_replacing_the_carpet.html</link>
<description><![CDATA[<p>I've been thinking today, as I search for income-producing work.  I know what kinds of problems I enjoy working on, and they tend to be computational problems.  I don't find excitement in typical data-management problems whose main concern is the collection, storage and display of data.  </p>

<p>Take <b>Amazon</b>, for example.  The whole e-commerce process is just data management.  The cool part of amazon is the suggestions it makes for you.  That's computations.  Likewise, bioinformatics, resource optimization, cryptanalysis and web indexing/searching represent way cool problem domains to me.  </p>

<p>It seems to me that it's in the computation that real value can be added to a system.  There are a bazilliion systems that can collect an e-commerce order, all of about roughly the same feature set.  The "you might also be interested in..." feature is the value-add which might help you sell more books.  Tracking trucks isn't difficult, but routing them efficiently can directly affect the bottom-line.  </p>

<p>Reading the trade press, folks seem to be questioning the value of IT investments.  I have a feeling it's because they aren't creating IT projects that actually add value.  Replacing a PHP order-entry system with a Java order-entry system of pretty much the same core features, maybe with a more modern architecture or language just doesn't seem to make much sense to the bottom line.  <br />
It's like <b>replacing the carpet</b> in a bricks'n'mortar bookstore.  </p>

<p>So, I think I'm arguing (and certainly self-servingly) is that organizations should keep their existing data management applications, even if in PHP, and find ways to fund value-add projects.  The promise of XML is that these heterogeneous systems can interface.  We've taught to fear <b>stovepipe systems</b>, but we can just relabel them as <b>best of breed</b> and focus on adding to systems, instead of whole-sale replacement.  You need to find the computational aspects of your business and target them.  That's where you'll differentiate yourself and affect the bottom-line.</p>

<p>Of course, folks who know me probably find this ironic, as I'm a chronic re-implementor.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-04-16T22:24:23+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000431_bpel4ws_wins.html">
<title>bpel4ws wins</title>
<link>http://blogs.codehaus.org/people/bob/archives/000431_bpel4ws_wins.html</link>
<description><![CDATA[<p><a href="http://infoworld.com/article/03/04/15/HNbpel_1.html">OASIS to get BPEL4WS jurisdiction</a>, so I think that means they have completely trumped BPML, if there was any doubt.</p>

<blockquote>One issue, whether the specification would be submitted royalty-free, apparently has been resolved, as all submitters have agreed to not seek royalties, or financial compensation, for their contributions to the specification used in any implementations, according to the source.

<p>IBM and BEA have previously agreed to not seek royalties, but Microsoft had not made such a vow.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-04-15T22:52:11+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000430_euro_business_rules_conference.html">
<title>Euro Business Rules Conference</title>
<link>http://blogs.codehaus.org/people/bob/archives/000430_euro_business_rules_conference.html</link>
<description><![CDATA[<p>Wow, there's a <a href="http://www.eurobizrules.org/">European Business Rules Conference in June 2003</a>, but alas, I won't be going.  Someone want to fly me to Zurich?  I'll buy you a beer.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-04-07T16:17:48+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000429_quick_intro_to_owl.html">
<title>Quick Intro to OWL</title>
<link>http://blogs.codehaus.org/people/bob/archives/000429_quick_intro_to_owl.html</link>
<description><![CDATA[<p><a href="http://www.xfront.com/owl-quick-intro/sld001.htm">A Quick Introduction to OWL Web Ontology Language</a> by Roger Costello and David Jacobs presents a pretty clear picture of why we should care about ontologies. </p>

<p>I've personally struggled with OWL for a while since Danny Ayers (rawblog, semantic blog) planted the idea in my head of mixing drools with OWL.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-04-06T13:16:31+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000428_xquery_getting_hot.html">
<title>XQuery :  getting hot?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000428_xquery_getting_hot.html</link>
<description><![CDATA[<p><a href="http://www.eweek.com/article2/0,3959,1000364,00.asp">Database Heavyweights Weigh In on XML Standard</a> along with other articles and conversations I've had makes it seem like XQuery is starting to heat up as an important (or at least hyped) technology.</p>

<p>Does anyone else care about XQuery.  Does anyone want to see a <b>jaxen</b>-esque XQuery engine?</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-04-04T14:42:57+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000427_jdk_142_beta.html">
<title>JDK 1.4.2 Beta</title>
<link>http://blogs.codehaus.org/people/bob/archives/000427_jdk_142_beta.html</link>
<description><![CDATA[<p><a href="http://java.sun.com/j2se/1.4.2/download.html">Java(TM) 2 SDK, Standard Edition, v 1.4.2 (J2SE(TM))</a> is available now.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-04-04T10:19:39+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000426_the_jaxen_presentation.html">
<title>The Jaxen Presentation</title>
<link>http://blogs.codehaus.org/people/bob/archives/000426_the_jaxen_presentation.html</link>
<description><![CDATA[<p>Well, just finished my presentation on <b>Introduction To XPath in Java with Jaxen</b>.    I think it didn't suck too hard.  Definitely having Pete Kazmier and Jeffrey Brekke reviewing the slides gave me confidence.  I was a little dismayed to have only 7 folks attend.  Apparently an XPath talk not involving XSLT at 8:30am on the last day of a conference is just not a very popular combination.</p>

<p>Anyone who is interested can view the slide deck <a href="http://eng.werken.com/~bob/jaxen.pdf">here</a>.</p>

<p><b>note to self:</b> figure out how to get this Toshiba displaying on both the external VGA port and the LCD at the same time.  Got a crick in my neck craning around to look at the 15' screen behind me to see where I was in the presentation.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-28T15:45:43+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000425_sdwest_tuesday.html">
<title>SD-West Tuesday</title>
<link>http://blogs.codehaus.org/people/bob/archives/000425_sdwest_tuesday.html</link>
<description><![CDATA[<p>Maybe the first of several updates, or maybe not, but...</p>

<p>I attended the reception for speakers and met <b>Floyd M.</b> (sorry, but I have no hope of actually spelling his last name correctly) from <b>The Server Side</b>, <b>Jason Hunter</b> of <b>JDOM</b>, <b>Craig Russell</b> from <b>Sun</b> (JDO spec lead), and <b>Elliotte Rusty Harold</b> of <b>Cafe Con Leche</b>.  Luckily, Floyd didn't smack me in person after my recent blog entries.   Had nice random chats with ERH and Jason regarding Jakarta and such.  And Craig gave me some insight on how Sun deals with JSRs and reference implementations (bottom line: "it's complex").</p>

<p>It's always weird meeting someone for the first time in meatspace after interacting with them digitally for years sometimes.  Personally, I know that I ascribe arbitrary faces and voices to people I've never met.  Of course, I'm seldom accurate.  I can only wonder how folks envisioned me (if at all) before this evening.  </p>

<p>I did note how much more quickly conversations occur when they aren't being handled through email.</p>

<p>So, maybe more useful notes tomorrow, after I actually attend some of the presentations.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-26T02:54:23+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000424_like_california_dude.html">
<title>Like, California, Dude</title>
<link>http://blogs.codehaus.org/people/bob/archives/000424_like_california_dude.html</link>
<description><![CDATA[<p>Just a heads-up that I'll be in the <b>Santa Clara</b> area for <a href="http://sdexpo.com/">SD-West 2003</a> conference, where I'll doing a seminar about <b>XPath</b> and <b>Jaxen</b> from <b>Tuesday</b> until <b>Saturday</b>.</p>

<p>So, if you're in the Bay Area and want to grab a beer, talk about open-source, or offer The Werken Company some work, let me know either via <a href="mailto:bob@werken.com">bob@werken.com</a>, or if it's time-critical, <b>meet AT werken.com</b> (obfuscated so I don't get some much spam on the shoephone) which will deliver 160 characters to my right hip.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-24T10:41:01+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000423_thanks_floyd_tss_redeemed.html">
<title>Thanks Floyd (TSS redeemed!)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000423_thanks_floyd_tss_redeemed.html</link>
<description><![CDATA[<p>Thanks to Floyd of <b>TheServerSide</b> for being responsive to my issue regarding not being able to get off a mailing list.  They found a problem in their email process which has now been happily resolved.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-14T00:00:29+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000422_reputable_java_spammers_tssjdj.html">
<title>&apos;Reputable&apos; Java Spammers (TSS/JDJ)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000422_reputable_java_spammers_tssjdj.html</link>
<description><![CDATA[<p>Okay, I'm fed up.</p>

<p><b>TheServerSide</b> has added me to their freaking spam list and provide no way to remove myself.  I've logged on, and the box saying "Subscribe to TheServerSide newsletter and Event Notification" is <b>unchecked</b> yet I still get their crap.  The mails contain no removal instructions. </p>

<p>Likewise, <b>Java Developers Journal</b> added me to their spam list somewhere along the way.  Yes, their mail offers removal instructions, but they are futile.  I've removed myself from their list at least a half dozen times, and yet they persist in sending them to me.  It seems that they clone their original master list for each vendor they sell it to.  Any unsubscribe requests only seem to affect the clone, and not the master.</p>

<p>So, guys, this is pure <b>bad practice</b> and is going to garner you some <b>bad press</b>.</p>

<p>So, if Floyd, Alan or anyone else associated with either of these two organization reads this, you need to get your act together and stop irritating your readers.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-12T20:59:50+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000421_specwatch_bpel4ws_rand.html">
<title>specwatch: BPEL4WS - RAND?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000421_specwatch_bpel4ws_rand.html</link>
<description><![CDATA[<p>Here's <a href="http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2912083,00.html">an article</a> that discusses some of the potential intellectual property issues around <b>BPEL4WS</b>.  I would hope that by now, folks would have realized that even if you hold a patent or other claim, free and open specs benefit you in the long run.  <b>XML-DEV</b> has a bazillion messages regarding the W3C discussion about <b>reasonable and non-discrimatory</b> licensing of any protected intellectual property, if you're interested in the details of this issue.</p>

<blockquote>If BPEL4WS becomes the de facto standard for Web services choreography and transactions, will the intellectual property owners take advantage of you? That's not absolutely clear. Implying that there are barriers to BPEL4WS becoming a W3C standard, the W3C's Janet Daly said, "BPEL4WS has a [intellectual property] statement that, as it stands, makes it questionable as to whether it could be used as a foundation piece." That stands in stark contrast to the promise for WSCI, should it progress to the ratification stage at the W3C. The W3C recently adopted a royalty-free position with respect to the standards it ratifies.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-07T17:14:17+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000420_specwatch_wsdl_12_ws_soap.html">
<title>specwatch: WSDL 1.2 (WS !=SOAP)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000420_specwatch_wsdl_12_ws_soap.html</link>
<description><![CDATA[<p><a href="http://www.w3.org/TR/2003/WD-wsdl12-20030303/">Web Services Description Language (WSDL) Version 1.2</a> working draft has been published.  I'm sort of forced to care due to how WSDL is used by BPEL4WS.  But, I do appreciate WSDL in the fact that it shows that <b>web service</b> is not a synonym for <b>SOAP</b>.</p>

<blockquote>This document describes the Web Services Description Language (WSDL) Version 1.2, an XML language for describing Web services. This specification defines the core language which can be used to describe Web services based on an abstract model of what the service offers.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-07T17:06:57+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000419_jsr_208_java_business_integration.html">
<title>JSR 208: Java Business Integration</title>
<link>http://blogs.codehaus.org/people/bob/archives/000419_jsr_208_java_business_integration.html</link>
<description><![CDATA[<p><a href="http://www.jcp.org/en/jsr/detail?id=208">JSR 208</a> also looks interesting, but I'm not really sure how it is distinct from 207.</p>

<blockquote>This JSR extends J2EETM with business integration SPIs.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-06T20:27:24+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000418_jsr_207_business_process.html">
<title>JSR 207: Business Process</title>
<link>http://blogs.codehaus.org/people/bob/archives/000418_jsr_207_business_process.html</link>
<description><![CDATA[<p><a href="http://www.jcp.org/en/jsr/detail?id=207">JSR 207</a> might be interesting.  I've nominated myself to the expert group.  We'll see.</p>

<blockquote>Definition of an annotated Java syntax and APIs for programming business processes in Java. 
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-06T20:25:55+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000417_werkflow_help_wanted_bpel4ws.html">
<title>werkflow: help wanted  (bpel4ws)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000417_werkflow_help_wanted_bpel4ws.html</link>
<description><![CDATA[<p>After doing the <b>two steps forward, one step backwards</b> dance for a week or three, I think <a href="http://werkflow.werken.com">werkflow</a>'s flexible syntax layer is ready to start implementing some syntaxes, such as <b>BPEL4WS</b> or <b>BPML</b>.</p>

<p>I'm still working on the generic syntax, but someone with an interest in BPEL4WS and an affinity for Jelly and web-services could certainly jump in, hack in the BPEL4WS module and win fame, glory, fortune and prestige.  </p>

<p>If interested, pop on into <b>irc.werken.com</b> at the <b>#werkflow</b> channel, or ping me at <a href="mailto:bob@werken.com">bob@werken.com</a>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-06T13:18:26+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000416_bpel4ws_learning_guide.html">
<title>BPEL4WS Learning Guide</title>
<link>http://blogs.codehaus.org/people/bob/archives/000416_bpel4ws_learning_guide.html</link>
<description><![CDATA[<p><a href="http://searchwebservices.techtarget.com/originalContent/0,289142,sid26_gci880731,00.html">BPEL Learning Guide</a> contains a smattering of information about <b>BPEL4WS</b></p>

<blockquote>Java developers need to publish synchronous and asynchronous Web services and compose them into reliable and transactional business flows. Web service orchestration standards (SOAP Conversation, BPEL4WS and WS-Transaction) are emerging and need to be packaged into a reliable and easy-to-manage software solution. So we've gathered a wealth of information to get you up-to-speed quickly.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-03-05T17:22:32+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000415_orchestration.html">
<title>Orchestration</title>
<link>http://blogs.codehaus.org/people/bob/archives/000415_orchestration.html</link>
<description><![CDATA[<p>HP has a paper (PDF)  reviewing various <a href="http://devresource.hp.com/drc/technical_white_papers/WSOrch/WSOrchestration.pdf">orchestration  technologies, tools and standards</a>.</p>

<blockquote>Web services technologies are beginning to emerge as a defacto standard for integrating disparate applications and systems using open, XML-based standards. In addition to building web services interfaces to existing applications, there must also be a standard approach to connecting these web services together to form more meaningful business processes. In 2002, a number of new standards were introduced to address this problem, including BPEL4WS and WSCI. The purpose of this paper is to provide a review of these emerging standards, to help the reader better understand how web services orchestration can be accomplished today.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-25T02:48:47+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000414_drools_crossblog_pointer.html">
<title>drools (cross-blog pointer)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000414_drools_crossblog_pointer.html</link>
<description><![CDATA[<p>Ted Neward took a few minutes to play with and <a href="http://www.neward.net/ted/weblog/index.jsp?date=20030222#1045902285278">blog about drools</a>.  Thanks, Ted!</p>

<blockquote>The Werken Company also maintains a couple of other open-source projects, including one that caught his eye--and mine, when he mentioned it to me--called drools, a rule-based inference engine, much as tools like ILog Rules and Jess are. (Two others I hadn't heard of before but are mentioned in the drools documentation are Haley Eclipse and CLIPS.) Naturally, having been interested in Jess long before this and having consulted for a company that was deeply involved in the whole business rules concept, I had to take a look. After about ten minutes' worth of looking and experimentation, I figured I'd blog about it. :-)
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-22T14:20:51+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000413_excess_capacity_commercial.html">
<title>Excess Capacity (commercial)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000413_excess_capacity_commercial.html</link>
<description><![CDATA[<p>As it sometimes goes, our involvement in our latest contract project has come to an end.  <b>The Werken Company</b> now has excess capacity to help you and your project.  We can staff from one to a half-dozen engineers (<b>not</b> staff programmers) on your projects needing hard-core gearheads.</p>

<p>So, if you have a need, please send questions, RFPs or good jokes to <a href="mailto:bob@werken.com">bob@werken.com</a>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-19T17:51:57+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000412_programming_languages_course.html">
<title>Programming Languages Course</title>
<link>http://blogs.codehaus.org/people/bob/archives/000412_programming_languages_course.html</link>
<description><![CDATA[<p><a href="http://nexus.cs.usfca.edu/~parrt/course/652/index.html">USF CS652: Programming Languages</a> is a course taught by <b>Terence Parr</b> the man behind <b>ANTLR</b> and <b>jguru</b>.</p>

<blockquote>Because programming languages are at the core of writing software, programmers should have a thorough understanding of how languages are designed, implemented, and manipulated. This course concerns itself specifically with the implementation and translation of computer languages, leaving an in-depth study of language design to another course. Students will learn the formalisms behind computer languages, but the focus will be on developing the ability to build languages and their translators.

<p>This class is only moderately difficult for the most part, though some of the language formalisms take a while to sink in. Well, actually you have one major hurdle to get over and then it's easy--abstraction in the sense of recursion, meta-language, programs that generate other programs (or even themselves), etc... If you get a headache when you try to figure out how the first C compiler could have been written in C, you might invest in a big bottle of aspirin<br />
</blockquote></p>

<p>Ter is making lecture notes and <b>lecture audio</b> available for download.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-19T09:45:45+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000411_time_management_bandwagon.html">
<title>Time Management (bandwagon)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000411_time_management_bandwagon.html</link>
<description><![CDATA[<p>I don't typically follow the meme bandwagon, but time-management is something important to me.  I forget where I picked it up (maybe <b>Getting Things Done</b>), but there are ostensibly two axes that can define any activity:  <b>important</b> and <b>urgent</b>.  Not all things are important, but they may be urgent, if they are to be done at all.  Not all things are urgent, but it may be important to get them done.</p>

<p>For example, filing taxes is quite important, but not necessarily urget just yet.  Getting the trashcans to the street today since it's trashday is urgent, but not overly important, since we have very little garbage this week. </p>

<p>I think the key to managing time effectively is finding the things that are both <b>urgent</b> and <b>important</b> and doing those.  Defer the items that aren't urgent and important.   I find I have the most mental stability when I accomplish things in the following priority order:</p>

<ol>  <li>Urgent and important</li>  <li>Important</li>  <li>Urgent</li>  <li>Luxury</li> </ol>

<p>Okay, time to jump off the bandwagon now.  I've said my piece.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-18T15:46:56+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000410_ws_choreography.html">
<title>WS Choreography</title>
<link>http://blogs.codehaus.org/people/bob/archives/000410_ws_choreography.html</link>
<description><![CDATA[<p><a href="http://lists.w3.org/Archives/Public/public-ws-chor/2003Jan/0020.html">public-ws-chor@w3.org from January 2003: Re: Yet Another Choreo</a> is an interesting message from the <b>W3C</b> group discussing the <b>WS-Choreography</b> recommendation.  They mention <b>petri nets</b> and <b>Aalst</b> and attempt to view themselves in the context of <b>BPML</b> and <b>BPEL4WS</b>.</p>

<p>Now, I typically don't think too much of many of the W3C's recommendations, but this thread shows me there's some smart peoplle really considering the issues here.</p>

<p>Now, if only it wouldn't cost me <b>$50,000</b> to join the W3C...</p>

<p>Thanks to James Strachan for pointing this thread out to me.</p>

<blockquote>I would definitely urge the WS Choreography WG to look at models that combine PetriNet with process algebra and pursue the development of a specification along these lines.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-18T13:28:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000409_happy_birthday_rebecca.html">
<title>Happy Birthday Rebecca</title>
<link>http://blogs.codehaus.org/people/bob/archives/000409_happy_birthday_rebecca.html</link>
<description><![CDATA[<p>Today, the 9th of February, is my lovely wife's birthday.</p>

<p>Happy birthday, Rebecca!</p>]]></description>
<dc:subject>Home</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-09T21:26:39+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000408_update_werkflow.html">
<title>update: werkflow</title>
<link>http://blogs.codehaus.org/people/bob/archives/000408_update_werkflow.html</link>
<description><![CDATA[<p>The <a href="http://werkflow.werken.com/">werkflow website</a> has been slightlyt updated to point to the current code and javadocs.</p>

<p>For anyone playing along at home, the appropriate CVS repository to check out used to be <b>wfx</b> but now it is simply <b>werkflow</b>.</p>

<p>To clarify some ideas floating around out there the the blogburgh....</p>

<p><b>werkflow</b> no longer uses drools but instead uses a purpose-designed implementation of a RETE-like algorithm. Likewise, it no longer uses <b>petridish</b> but instead maintains its own optimized/simplified Petri net framework.</p>

<p>This is all a reaction to over-generalization.  This (3rd? 4th?) rewrite of <b>werkflow</b> has aimed for <b>simplicity in implementation</b> over <b>generalization simply for the sake of generalization</b>.</p>

<blockquote>werkflow is a flexible, extensible process- and state-based workflow engine. It aims to satisfy a myriad of possible workflow scenarios, from enterprise-scale business processes to small-scale user-interaction processes. Using a pluggable and layered architecture, workflows with varying semantics can easily be accomodated. Processes can revolve around documents, objects or any other entity. 
</blockquote>

<p>Anyhow, check it out.  Come chat on IRC.  If you're in the South, let's have lunch, and I'll explain to you how <b>everything is workflow</b> and how <b>everyone needs <i>werkflow</i></b>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-04T10:31:47+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000407_when_its_a_crime_to_own_crypto.html">
<title>When it&apos;s a crime to own crypto...</title>
<link>http://blogs.codehaus.org/people/bob/archives/000407_when_its_a_crime_to_own_crypto.html</link>
<description><![CDATA[<p>The Bouncy Castle has released <a href="http://www.bouncycastle.org/">version 1.17</a> of their cryptostuff.</p>

<blockquote>Release 1.17 is now available for download. The SMIME/CMS classes now support compressed data, CMS supports encapsulated signed data, and SMIME now allows for the sending of binary files where base64 is not appropriate. RC2 processing now works for the full range of parameters, and the X509Name/Principal classes are now configurable when it comes to string processing (in other words you can now support any "standard" way of doing this you want). A few minor bug fixes have been made as well.
</blockquote>

<p>Who really needs anything besides rot-13?  That's uncrackable, right?</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-04T02:40:49+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000406_math_is_hard.html">
<title>Math is Hard</title>
<link>http://blogs.codehaus.org/people/bob/archives/000406_math_is_hard.html</link>
<description><![CDATA[<p><a href="http://whatis.techtarget.com/definition/0,,sid9_gci803019,00.html">Fast Reference for Mathematical Symbols</a> was found by Dan Diephouse while reading up on Petri nets and needing to interpret the math symbols.</p>

<p>I've stumbled my way through many an academic paper just trying to guess the meaning of symbols from the contxet.  Having this resource just rocks.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-02-03T20:05:59+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000405_cost_of_attacks_vs_cost_of_patches.html">
<title>Cost of attacks vs cost of patches</title>
<link>http://blogs.codehaus.org/people/bob/archives/000405_cost_of_attacks_vs_cost_of_patches.html</link>
<description><![CDATA[<p>c-net is reporting that <a href="http://news.com.com/2100-1001-982305.html">Microsoft's own servers were successfully attacked.</a>  It also includes this perfect quote:</p>

<blockquote>“Seems like every time I install a system patch, something else goes wrong with my system,” said Frank Beier, president of Web design firm Dynamic Webs. The designer said many system administrators won’t patch for many months, because they don’t trust Microsoft to fix the problem without breaking some other function of the software.

<p>“In most cases, I'm better off just playing Russian roulette with the hackers until our servers are broken into,” he said. <br />
</blockquote></p>

<p>Which makes me think.  Every time there's a large-scale attack, folks come out with a number like <b>the attack cost businesses $35 million</b>.  How much would it have cost businesses, though, if everyone had installed the security patch on the same day last summer, and had all of their systems break due to the patch itself?  Admins across the country applying the patch, applying other patches, fixing conflicts, re-installing, etc, for several days.  Sure, I'd call that <b>$35 million</b> also, probably.  But, since admins tend to not all patch on the day a patch is released, we don't see the big balloon cost to business of the patches.  </p>

<p>Instead, lots of businesses lost a few thousand here and there as their admins are waylayed attempting to make the patches and all other software on the machine happy.</p>

<p>So, I'd like to see a study to determine how much applying wonky patches costs business each year.</p>

<p>The quote above may have it right on the money.  If you patch a system that never gets broken into, you've spent time (and thus money) for nothing.  A guaranteed loss.  If you don't patch a system that never gets broken into, you've spent no time (thus no money).  If you don't patch a system that does eventually get broken into, you'll spent time (thus money) fixing it.  So, I think these guys are typically playing the probability game.  An uncertain cost later is better than a certain cost now, monetarily speaking.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-01-28T12:33:45+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000404_antlr_272.html">
<title>Antlr 2.7.2</title>
<link>http://blogs.codehaus.org/people/bob/archives/000404_antlr_272.html</link>
<description><![CDATA[<p><a href="http://antlr.org/doc/antlr272release.html">ANTLR 2.7.2</a> has been released.</p>

<p>Time for me to update the maven plugin, it seems.</p>

<blockquote>The ANTLR 2.7.2 release is a feature enhancement and bug fix release, partially brought to you by those hip cats at jGuru.com. It has been about 2 years since the last release so expect lots of stuff to have been fixed and improved.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-01-20T18:02:39+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000403_movie_remixes.html">
<title>Movie Remixes</title>
<link>http://blogs.codehaus.org/people/bob/archives/000403_movie_remixes.html</link>
<description><![CDATA[<p><a href="http://us.imdb.com/Plot?0240468">Kung Pow: Enter the Fist</a> is a <b>must see</b>.  It follows in the lines of <b>What's Up, Tiger Lilly?</b> by Woody Allen, in that it's a redub (and in <b>Kung Pow's</b> case, a resplice) of an older Japanese movie.</p>

<blockquote>Kung Pow: Enter the Fist is a movie within a movie, created to spoof the martial arts genre. Writer/director Steve Oedekerk uses contemporary characters and splices them into a 1970s kung-fu film, weaving the new and old together. As the main character, The Chosen One, Oedekerk sets off to avenge the deaths of his parents at the hands of kung-fu legend Master Pain. Along the way, he encounters some strange characters, one of which is a cow trained in the martial arts.
</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-01-20T01:15:51+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000402_water_jelly_competitor.html">
<title>Water: Jelly Competitor?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000402_water_jelly_competitor.html</link>
<description><![CDATA[<p><a href="http://www.waterlang.org/">Water lang.org</a> presents a commercial (yet free?) XML-based language not unlike Jelly, but then again, completely unlike Jelly.</p>

<blockquote>Water™ is a new all-purpose Web programming language that delivers both power and simplicity.
</blockquote>

<p><a href="http://www.waterlang.org/doc/tutorial_fast_intro.html">A quick-ref sheet</a> is available.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-01-19T17:09:15+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000401_drools_20beta10.html">
<title>drools 2.0-beta-10</title>
<link>http://blogs.codehaus.org/people/bob/archives/000401_drools_20beta10.html</link>
<description><![CDATA[<p>drools <a href="http://drools.org/releases.html">2.0-beta-10</a> has been released.  Big thanks to Matt Ho who volunteered as our release manager and ushered this release out the door.</p>

<blockquote>The latest official build is 2.0-beta-10 .
</blockquote>

<p>A few more issues and I think we'll be pushing 2.0-final out the door in a few weeks.  </p>

<p>tangent: Canada is fargin' cold.  Glad to be back in Georgia.   A lot of work on werkflow did get done while up there though.  Good things.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-01-18T10:39:18+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000400_linux_laptop_masochism.html">
<title>Linux, Laptop, Masochism</title>
<link>http://blogs.codehaus.org/people/bob/archives/000400_linux_laptop_masochism.html</link>
<description><![CDATA[<p>Well, howdy from my newly functional laptop.</p>

<p>Anyone in #maven knows my perils but maybe this'll help other random folks attempting to do what I did.</p>

<p>After getting an HP laptop with bad hardware (random reboots), I procured a Toshiba 5205-703s, which has the radically cool 1600x1400 resolution.  It also has the radically uncool <b>legacy-free</b> BIOS, which means you can only frob the bios from Win32.  No F1 or whatnot to get into it before loading an OS.</p>

<p>Redhat 8.0 didn't support this machine very well out of the box.  The biggest key to getting a legacy-free Toshiba machine working is the <a href="http://acpi.sf.net/">ACPI patch</a> to that linux can learn your IRQs from the BIOS.</p>

<p>You can't simply patch RedHat's 2.4.18 kernel sources, since they're mutated from the main tree.  I attempted a 2.4.20 kernel with the ACPI patch, which worked, but kept my load average at <b>1.8 when idle</b>.</p>

<p>This morning, I went back to a 2.4.19 kernel, applied the ACPI patch immediately, and then added my network modules.</p>

<p>Internal WIFI now works and load is a nice fat <b>0</b> when idle.</p>

<p>The cPad mousepad works, but only as a PS/2 device.  Once I enable USB, it goes wonky and disappears.  I've played with the Input-Core stuff and the *HCI modules, to no avail.  Some other week I'll attack that.  Sound works beautifully also.</p>

<p>One note: when booting up the initial RedHat install, it freezes when kudzu does a probe.  Just do a manual boot sequence and prevent kudzu from running.  Once you have an ACPI kernel, kudzu causes no problems.</p>

<p>Back to work...</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-01-08T12:00:02+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000399_i_miss_operator_overloading.html">
<title>I miss operator overloading</title>
<link>http://blogs.codehaus.org/people/bob/archives/000399_i_miss_operator_overloading.html</link>
<description><![CDATA[<p>I know many folks think operator overloading is evil, but to a person who likes nice semantics and has created more than his fair share of little languages (<a href="http://antlr.org/">ANTLR rocks!</a>), not being able to overload operators restricts the richness of an API.</p>

<p>Back in the C++ days, I could, thoough conversion methods and operator overloading, make an API as simple as this for en end-user:</p>

<blockquote>transition.addFiringRule( Foo.RULE && Bar.RULE )
</blockquote>

<p>Without, I have to do this in java:</p>

<blockquote>transition.addFiringRule( new AndRule( Foo.RULE, Bar.RULE ) )
</blockquote>

<p>To many humans (ie, developers), infix notation is notably easier to read than prefix or postfix.  Operator overloading allows us to use existing infix symbols instead of having to create a semantically similar prefix symbol set implemented as objects.</p>

<p>Somewhat related, I think folks who are creating expression languages should take the time and effort to create a real parser for it, instead of using ostenbily a prefix/postfix XML syntax.</p>

<p>This makes me feel dirty:</p>

<pre>&lt;and&gt;
  &lt;or&gt;
    &lt;term&gt;...&lt;/term&gt;
    &lt;term&gt;...&lt;/term&gt;
  &lt;/or&gt;
  &lt;term&gt;...&lt;/term&gt;
&lt;/and&gt;
</pre>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-01-04T17:47:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000398_beware_the_fringes_window_managers.html">
<title>Beware the Fringes (window managers)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000398_beware_the_fringes_window_managers.html</link>
<description><![CDATA[<p><a href="http://www.fvwm.org/">FVWM</a> is my window-manager of choice.  I have it configured fairly spartanly, but with 10 virtual screens mapped to my F-keys and various combinations for cycling, raising and lowering windows.  I never iconify anything (I do have 10 virtual screens), I never dock anything, and I seldomly reconfigure my system.  </p>

<blockquote>FVWM is an extremely powerful ICCCM-compliant multiple virtual desktop window manager for the X Window system. Development is active, and support is excellent. Check it out!
</blockquote>

<p>I just bought a new laptop (HP ze5185) and burned some RedHat 8.0 CDs and did the big install.  No longer is <b>fvwm2</b> included in the distribution it seems.  My only choices are <b>gnome</b> or <b>kde</b>, neither of which do I like.   I've been used to scp'ing over my <b>.xinitrc</b>, <b>fvwm2rc</b>, and my <b>.emacs</b> and feeling at home.  </p>

<p>Now, I have to go find an rpm or compile from source.  That's just silly.  And I would've thought that enough folks were using the <b>linksys</b> wireless devices to include support for them in the distribution also.  Alas, nope.  More downloading and compiling of <b>pcmcia-cs</b> and <b>linux-wlan-ng</b>.</p>

<p>No wonder my dad doesn't use linux.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-01-03T05:24:26+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000397_drools_20beta9.html">
<title>drools 2.0-beta-9</title>
<link>http://blogs.codehaus.org/people/bob/archives/000397_drools_20beta9.html</link>
<description><![CDATA[<p><a href="http://drools.org/releases.html">drools 2.0-beta-9</a> has been released.</p>

<blockquote>The latest official build is 2.0-beta-9 .
</blockquote>

<p>Notable in this release includes:</p>

<p>....Better ant-based build, for the maven-impaired<br />
....Cleaned up gratuitous (non-used) dependencies<br />
....A few bugfixes only fleetingly seen in beta-8<br />
....More stuff I've probably forgotten</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2003-01-01T20:55:04+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000396_socalled_source_code.html">
<title>So-called &apos;source code&apos;</title>
<link>http://blogs.codehaus.org/people/bob/archives/000396_socalled_source_code.html</link>
<description><![CDATA[<p>CNN's <a href="http://www.cnn.com/2002/TECH/biztech/12/23/microsoft.sendo.reut/index.html">misuse of quotes</a> is sorta annoying.  </p>

<blockquote>At the time Sendo declined to give all the reasons for the split, saying only that it had not been given access to so-called 'source code' which would allow it to tailor the software.
</blockquote>

<p>It <b>is</b> source code, damnit.  Not so-called "source code".</p>

<p>Now I remember why I don't read CNN's so-called "website" too often.  Long live <a href="http://boortz.com/">boortz</a>.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-24T04:20:18+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000395_everything_sucks.html">
<title>Everything Sucks</title>
<link>http://blogs.codehaus.org/people/bob/archives/000395_everything_sucks.html</link>
<description><![CDATA[<p>I am perfect.  I know everything.  My opinion in infallible.  I only use the good things and eschew the bad.  Anything that I don't use sucks, because I don't use it.  There is no way someone else can find value in it.   If they do, then they suck, too.  And if it sucks, not only do I not use it, but it is my job, ne, my duty, to ensure that you don't use it.</p>

<p><b>update:</b> Folks keep asking what inspired this.  It was inspired by the massive number of "Foo Sucks" headlines I've seen in the past 4 days.   We could all get pretty tired pretty quickly trying to enumerate all of the sucky things in the world.  Instead, why don't we just search out and promote the good non-sucky things instead?</p>

<p>Be like Plato: search for The Good.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-20T16:00:09+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000394_workflow_patterns.html">
<title>Workflow Patterns</title>
<link>http://blogs.codehaus.org/people/bob/archives/000394_workflow_patterns.html</link>
<description><![CDATA[<p><b>mati</b> in <b>#werkflow</b> pointed me to <a href="http://tmitwww.tm.tue.nl/research/patterns/">Workflow Patterns</a></p>

<blockquote>This site serves as a repository for workflow modelling patterns. These patterns can be used to examine the expressive power of a workflow server that you intend to work with or they can serve as a set of ideas how to implement given business requirements having some workflow server already deployed in your organization
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-19T11:53:50+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000393_bpm_motherlode.html">
<title>BPM Motherlode</title>
<link>http://blogs.codehaus.org/people/bob/archives/000393_bpm_motherlode.html</link>
<description><![CDATA[<p>Duncan told me about <a href="http://www.ebpml.org/">ebPML.org</a>, which seems to contain a veritable plethora of useful BPM information.</p>

<blockquote>Welcome to the home of ebPML.org, a website dedicated to the architecture and technologies of Business Process Management Systems (BPMS). 
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-17T20:03:22+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000392_100_entries.html">
<title>100 Entries</title>
<link>http://blogs.codehaus.org/people/bob/archives/000392_100_entries.html</link>
<description><![CDATA[<p>For some reason, probably due to the number of fingers most of us have, we prefer nice 'round' numbers that include lots of zeros.  So, here's my <a href="http://blogs.werken.com/people/bob/archives/000143.html">100th entry</a>.</p>

<blockquote>For some reason, probably due to the number of fingers most of us have, we prefer nice 'round' numbers that include lots of zeros. 
</blockquote>

<p>Since I've shot my mouth off about not knowing who's behind a blog, here's me, working on my 100th entry.</p>

<p><center><br />
<img alt="bob working on entry 100" src="http://blogs.werken.com/people/bob/archives/bob.jpg" width="202" height="228" border="0" /><br />
</center></p>

<p>(yes, intentionally self-referential)</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-17T19:56:55+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000391_a_darn_good_blog.html">
<title>A Darn Good Blog</title>
<link>http://blogs.codehaus.org/people/bob/archives/000391_a_darn_good_blog.html</link>
<description><![CDATA[<p>I was alerted to <b>Jeff Schneider's</b> <a href="http://schneider.blogspot.com/">Service Oriented Enterprise</a> blog.  And he even puts his name <b>right there on the page</b>.  </p>

<p>Keywords: <b>messaging</b>, <b>async</b>, <b>service</b>, <b>ovaltine</b>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-17T14:51:36+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000390_xpath_explorer.html">
<title>XPath Explorer</title>
<link>http://blogs.codehaus.org/people/bob/archives/000390_xpath_explorer.html</link>
<description><![CDATA[<p><a href="http://www.purpletech.com/xpe/index.jsp">Alex Chaffee's XPath Explorer</a> is looking really cool these days.  Alex is one smart cookie.</p>

<p>Plus, the screenshot includes mention of <b>cheese</b>, so it absolutely has to be good.</p>

<p>Includes plugins for Eclipse and NetBeans.</p>

<blockquote>XPath Explorer (XPE) is a GUI application that lets you interactively experiment with XPath. Basically, you type in a URL (to an XML or HTML document) and an XPath expression, and it displays the elements or attributes from that document which match that expression. It also displays the value (string, number, or boolean) of the expression, and (in a stunning coup de grace) displays the entire XML tree of the original document, but with the matching nodes highlighted in bold. This makes it easy to play with and debug your XPath expresions.

<p>By popular demand, we've added a reverse gear! Now when you click on a node, XPE will generate an XPath that uniquely identifies that node. If you double-click (or click the "Use This Path" button) it will close the circle and select all nodes that match that XPath -- should be the one you clicked on, huh?</p>

<p>The generation algorithm basically walks up the tree until it finds the document root, or a node with an id tag (since ids are supposed to be unique in XML), then walks back down, building the path by position.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-17T02:37:46+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000389_who.html">
<title>Who?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000389_who.html</link>
<description><![CDATA[<p>Mr. <a href="http://www.freeroller.net/page/acoliver/20021216#attack_me_in_your_blog">Hacking Log 2.0</a>, whoever that is, seems to think fairly highly of himself.  What's with the trend of not obviously identifying yourself on your blog?  </p>

<blockquote>Attack me in your blog and you'll get in the triple digits on FreeRoller!

<p>Just so you know, as others have discovered. If you don't have any actual legitimate points, just trash me and the way I express myself in your blog! It will be a sure winner and you'll reach the triple digits onfreeroller! So have at it! Flame away! (But for now on I'll ignore you...sorry ;-) )<br />
</blockquote></p>

<p>Kibo. Kibo. Kibo. Kibo. Kibo.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-17T00:16:24+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000388_standalone_uberjar.html">
<title>Standalone Uberjar</title>
<link>http://blogs.codehaus.org/people/bob/archives/000388_standalone_uberjar.html</link>
<description><![CDATA[<p>Just a note about the new <a href="http://classworlds.werken.com/uberjar.html">classworlds uberjar</a> functionality.  Pete Kazmier has written a maven plugin to make it super-easy, if you're sync'd up to maven HEAD.</p>

<blockquote>classworlds  allows the creation of a single standalone jar for your project which may internally include any other additional jars that are required for your application. This allows for easy <code>java -jar myapp.jar
</code>
  type of execution.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-16T11:57:27+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000387_phish_rocks_dude.html">
<title>Phish rocks, dude.</title>
<link>http://blogs.codehaus.org/people/bob/archives/000387_phish_rocks_dude.html</link>
<description><![CDATA[<p><a href="http://www.rollerweblogger.org/page/roller/20021214#live_from_new_york_al">Blogging Roller</a> is an example of what's wrong with the world...</p>

<blockquote>Please do not interpret the above statements as an indication that I condone Phish.
</blockquote>

<p>Would there be war if we all listened to Phish, the Dead, Widespread Panic, Blueground Undergrass and all of the other happy twirly music?  Listen to Phish.  Do it for the children.  You don't hate children, do you?</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-15T01:45:22+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000386_conformance_testing.html">
<title>Conformance Testing</title>
<link>http://blogs.codehaus.org/people/bob/archives/000386_conformance_testing.html</link>
<description><![CDATA[<p><a href="http://www.xml.com/pub/a/2002/12/11/w3c-test.html">Test Frameworks for W3C Technologies</a> could really be about any specification from any standards (or recomendations) body.</p>

<blockquote>Everyone involved wants to write conformant implementations, for technical or marketing reasons. In order for conformance to mean anything, it needs to be defined. Bear in mind that conformance and certification are not the same thing: "certification" seems to be what marketing people hear when technical people say "conformance". It would be much easier to allocate resources if a case could be made that the extra effort of testing and, thus, conformance is worthwhile. Without making conformance meaningful or trying to enforce it, testing will be seen as an added bonus and will not be as central as it needs to be. Again, end users and consumers are at the losing end, since they won't be able to make sure the implementation they choose is conformant.
</blockquote>

<p>Personally, to me there is nothing better than a well-written, clear, concise spec.  Marshall Rose's RFCs for <a href="http://www.ietf.org/rfc/rfc3080.txt?number=3080">BEEP</a> and its bindings to TCP are excellent examples.  Most RFCs are pretty good.  Most specs lead by individuals (such as most RFCs) tend to have focus, whereas those authored by an organization which costs thousands of dollars to join tend to be meander muddled messes.</p>

<p>To its credit, the BEEP community is attempting to put together cross-implementation compatibility and conformance test suites.</p>

<p>The <a href="http://www.w3.org/TR/xpath">XPath 1.0</a> recommendation  is pretty good, aside from a few ambiguities and the confusion inherent in XML namespaces.  OASIS recently came out with conformance tests for XPath, but alas, they are quite tied to XSLT.</p>

<p>JSR-94 (Java Rule Engine API) has its share of <a href="http://drools.org/jsr94-comments.html">problems</a>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-14T03:48:18+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000385_gilgul_gilgul_0.html">
<title>Gilgul **gilgul = 0;</title>
<link>http://blogs.codehaus.org/people/bob/archives/000385_gilgul_gilgul_0.html</link>
<description><![CDATA[<p><a href="http://javalab.cs.uni-bonn.de/research/gilgul/languageDocumentation.html">Gilgul</a> is an extension to Java, specifically supported by an <b>augmented JVM</b>.  </p>

<p>One of the key features seems to be allowing an object reference to actually be a reference-to-a-reference but still used without the programmer being aware of the double indirection.</p>

<p>For those of you with C/C++ backgrounds, <b>gilgul</b> seems to add <b>pointer to a pointer</b> with automagic deference semantics.</p>

<p>The examples on the site seem to indicate that it could be used to solve some of the same problems solved by AOP, while at other times, seems to be a distinct architectural method (see their <b>state pattern</b> example).</p>

<p>Looks cool.  Guaranteed to be stuck in academia of course, since it so radically mutates the familiar Java concepts and isn't bytecode-compatible with the JVMs in the wild.</p>

<p>Oh well.</p>

<blockquote>Object identity is usually regarded as a corner-stone of object-oriented programming. The observation that this concept in fact combines two distinct notions lies at the heart of Gilgul's model that provides the conceptual basis for the programming language Gilgul. Its central idea is a strict separation of these notions, namely the notions of reference and comparison.

<p>Gilgul's model can be illustrated with an implementation technique called Identity Through Indirection [KC86]: Here, a reference to an object is realized as an object oriented pointer (OOP). An OOP points to an entry in an object table which holds the actual memory address of the object (see figure 1). Since Gilgul's model needs not to be restricted to the implementation technique of an object table, it is only claimed that object references point to entries which hold referents that represent the actual objects. Contrary to Java, where references themselves are immutable, it is possible to manipulate referents in Gilgul and in this way, to replace objects at runtime.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-12T17:12:21+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000384_microsoft_to_buy_bobs_notebook.html">
<title>Microsoft to buy bob&apos;s notebook</title>
<link>http://blogs.codehaus.org/people/bob/archives/000384_microsoft_to_buy_bobs_notebook.html</link>
<description><![CDATA[<p>In an effort to further consolidate the software design tools market, after purchasing both <b>Borland</b> and <b>Rational</b> (much to IBM's chagrin), <b>Microsoft</b> is negotiating the purchase of <b>bob's notebook and pen</b> in a stock-swap deal estimated to be worth $35.</p>

<p><img alt="design_tools.jpg" src="http://blogs.werken.com/people/bob/archives/design_tools.jpg/design_tools.jpg" width="300" height="225" border="0" /></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-12T02:50:19+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000383_xml_the_big_picture.html">
<title>XML: The Big Picture</title>
<link>http://blogs.codehaus.org/people/bob/archives/000383_xml_the_big_picture.html</link>
<description><![CDATA[<p><a href="http://wdvl.internet.com/Authoring/Languages/XML/XMLFamily/BigPicture/bigpix20a.html">Big Picture of the XML Family of Specifications</a> is pretty cool.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-12T01:10:21+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000382_spec_watch_xpdl.html">
<title>Spec Watch: XPDL</title>
<link>http://blogs.codehaus.org/people/bob/archives/000382_spec_watch_xpdl.html</link>
<description><![CDATA[<p><a href="http://xml.coverpages.org/ni2002-12-10-b.html">Workflow Management Coalition Publishes XML Process Definition Language (XPDL) Version 1.0</a>, because of course we don't already have enough specifications regarding workflow.</p>

<blockquote>XPDL 1.0 uses the popular XML language to describe a business process. A process defined in XPDL (a set of XML statements) can be imported into any workflow engine that supports XPDL. The related objects and attributes (data associated with the process) are now also included in the XPDL process definition. The XPDL process definition can be generated by workflow modeling and simulation tools, or can be manually coded, or can be exported from another XPDL-compliant workflow engine.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-12T01:05:03+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000381_meet_bob_and_learn_about_jaxen.html">
<title>Meet Bob and Learn About Jaxen</title>
<link>http://blogs.codehaus.org/people/bob/archives/000381_meet_bob_and_learn_about_jaxen.html</link>
<description><![CDATA[<p><a href="http://www.cmpevents.com/sdw/a.asp?option=7&V=3&id=96597">Introduction to XPath Processing in Java with Jaxen</a> is a session I'll be doing at <b>SD-West</b> in March, 2003.</p>

<blockquote>
<b>Session Title:</b> Introduction to XPath Processing in Java with Jaxen
<b>Time/Date:</b> Friday (March 28, 2003)   8:30 am - 10:00 am
<b>Track:</b> XML Programming
<b>Format:</b> Class
<b>Level:</b> Intermediate

<p><b>Description:</b> XPath is one of the more useful and powerful specifications developed around XML. Jaxen, a free and open-source XPath implementation can assist developers in applying XPath within their own application. This siminar will address the issues surrounding XPath, such as the XML-InfoSet, XML-Namespaces,variable bindings, and how Jaxen can be used within an organization's XML-handling application.<br />
</blockqoute></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-10T16:05:07+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000380_bpmlbpel4wsbpmn.html">
<title>BPML/BPEL4WS/BPMN</title>
<link>http://blogs.codehaus.org/people/bob/archives/000380_bpmlbpel4wsbpmn.html</link>
<description><![CDATA[<p>Somehow, amongst the random <b>bpfoo</b> specification releases over the last 45 days, I missed <a href="http://www.bpmi.org/bpmn-spec.esp">Business Process Modeling Notation</a> from the creators of <b>BPML</b>.</p>

<p>It aims to be a graphical notation, sorta like the <b>UML</b> and the spec includes mappings to <b>BPML</b> and <b>BPEL4WS</b>.  So, maybe we should consider it a graphical equivalent to the XML Infoset, for business processes.  Maybe that's cool.  I like abstract Infosetesque things.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-09T22:20:32+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000379_conversation_support.html">
<title>Conversation Support</title>
<link>http://blogs.codehaus.org/people/bob/archives/000379_conversation_support.html</link>
<description><![CDATA[<p><a href="http://www.research.ibm.com/convsupport/">Conversation Support</a> from IBM seems to be yet-another addition to the fray currently occupied by <b>bpml</b>, <b>bpel4ws</b> and <b>wsci</b>.</p>

<p>I have yet to dig deeply into it, but on the outset, it does seem closer to what I've been pondering with regards to the strengths of <a href="http://werkflow.werken.com">werkflow</a>.</p>

<blockquote>The technology proposes and implements a conversational model of component interaction. In that model, a component’s functioning is divided into two broad categories: interoperability technology and decision logic. Here, “decision logic” is a catch-all term for what is usually regarded as the true function performed by the component, regardless of how or by whom it is done. In an e-business, for example "decision logic" is often called the "business process". The interoperability technology is the software the e-business uses to communicate and interact with others, especially other e-businesses.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-06T03:28:02+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000378_coding_in_the_small.html">
<title>Coding in the Small</title>
<link>http://blogs.codehaus.org/people/bob/archives/000378_coding_in_the_small.html</link>
<description><![CDATA[<p><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0321146530/qid=1038804790/sr=8-1/ref=sr_8_1/103-8385391-5172633?v=glance&s=books&n=507846">Test Driven Development: By Example</a> by Kent Beck has changed my life in 48 hours.  While I haven't completely gone <b>test-first</b>, I have radically changed the way I write code.</p>

<p>Specifically, I'm using a lot more fine-grained <b>interface-based designs</b> in order to make testing with <b>mock objects</b> easier.  My test-cases now actually demonstrate the logic instead of just blindly exercising methods after a bazillion lines of setup code.  </p>

<p><b>TDD</b> has forced me to think about <b>coding in the small</b> so that I focus on exactly and only the portion I'm currenlty working on.  Over the past 3 days, I've noticed that when I do jump around and revert to my old ways, I end up writing myself into a corner again.</p>

<p>Initially, TDD seemed much slower but in the end, elapsed-time per tested functionality is actually much lower.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-12-02T00:32:41+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000377_better_javadocs.html">
<title>Better Javadocs</title>
<link>http://blogs.codehaus.org/people/bob/archives/000377_better_javadocs.html</link>
<description><![CDATA[<p><a href="http://java.sun.com/j2se/1.3/docs/tooldocs/solaris/javadoc.html#standard">The -use option</a> to javadoc can greatly simplify the life of someone attempting to understand your code.  It's especially useful with <b>developer versions of javadocs</b> which should also use the <b>-private</b> option.</p>

<blockquote>-use
    Includes one "Use" page for each documented class and package. The page describes what packages, classes, methods, constructors and fields use any API of the given class or package. Given class C, things that use class C would include subclasses of C, fields declared as C, methods that return C, and methods and constructors with parameters of type C.

<p>    For example, let's look at what might appear on the "Use" page for String. The getName() method in the java.awt.Font class returns type String. Therefore, getName() uses String, and you will find that method on the "Use" page for String.</p>

<p>    Note that this documents only uses of the API, not the implementation. If a method uses String in its implementation but does not take a string as an argument or return a string, that is not considered a "use" of String.</p>

<p>    You can access the generated "Use" page by first going to the class or package, then clicking on the "Use" link in the navigation bar.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-11-27T17:00:51+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000376_better_xml_serialization_for_rdf.html">
<title>Better XML Serialization for RDF?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000376_better_xml_serialization_for_rdf.html</link>
<description><![CDATA[<p><a href="http://www.xml.com/pub/a/2002/11/20/rpv.html">RPV: Triples Made Plain</a> describes Tim Bray's new proposed serialization of RDF assertions.</p>

<p>The current RDF serialization format confuses me.  RPV seems much clearer.  Maybe, hopefully, it'll lower the bar for RDF-enabled applications?</p>

<p>There's been musings of an RDF semantic module for <a href="http://drools.org/">drools</a> and possibly hooking drools into some Linda/TuplesSpaces implementations, such as JavaSpaces or JXTASpaces.  Piping space objects and properties to drools via RDF, or ideally, RPV, would definitely allow some coolness.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-11-23T11:09:42+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000375_xpathng.html">
<title>XPath-ng</title>
<link>http://blogs.codehaus.org/people/bob/archives/000375_xpathng.html</link>
<description><![CDATA[<p>Uche Ogbuji has set up the <a href="http://lists.fourthought.com/mailman/listinfo/xpath-ng">XPath-ng mailing list</a> for discussing something to follow XPath 1.0.</p>

<p>Yes, the W3C does have XPath 2.0 in progress, but there is the general opinion that it's overblown and too dependent upon other specs, particularly XML Schema.</p>

<p>XPath 1.0 rocks because it so closely follows the 80/20 rule.  XPath 2.0 from the W3C looks significantly less enlightened.</p>

<p>As the project lead for <a href="http://jaxen.org/">jaxen</a>, I'm following the XPath-ng conversations closely.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-11-21T12:14:25+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000374_always_have_a_plan_b.html">
<title>Always have a Plan B</title>
<link>http://blogs.codehaus.org/people/bob/archives/000374_always_have_a_plan_b.html</link>
<description><![CDATA[<p>So, I haven't blogged in a while, and I needed something new to read, so I fed in an arbitrary search term (<b>coffee</b>) into CiteSeer, and <a href="http://citeseer.nj.nec.com/peot92conditional.html">Conditional Nonlinear Planning</a> by Peot and Smith churned up.</p>

<blockquote>Work-in-progress on the design of a conditional nonlinear planner is described. CNLP is a nonlinear planner that develops plans that account for foreseen uncertainties. CNLP represents an extension of the conditional planning technique of Warren [75] to the domain of nonlinear planning. 
</blockquote>

<p>Reading this paper, I definitely think that magic of the human mind comes from its non-linearity.  Creative epiphanies typically come from non-linear reasoning.  Finding better or more efficient ways of accomplishing a goal comes from non-linear planning.  Ostensibly, making lemonade when life gives you lemons is a non-linear activity. </p>

<p>As has been mentioned, I've spent some time doing logistics planning, mostly with regards to transportation planning and scheduling.  There has always been a pretty large disconnect beteween the planning and execution in the transportation industry.  While telematics can provide a real-time view of the environment, there is still very little dynamic re-planning to react to the environment.   We deal in terms of historical statistics when making a plan that executes in a decidedly concrete world.  </p>

<p>Dynamic replanning can plan <b>around</b> a changing environment, while it seems non-linear planning can plan <b>for</b> a changing environment.</p>

<p>I'm just fascinated by techniques to allow us to better model the imperfect world via the perfectionist computer.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-11-18T02:34:01+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000373_esoterically_cool.html">
<title>Esoterically Cool</title>
<link>http://blogs.codehaus.org/people/bob/archives/000373_esoterically_cool.html</link>
<description><![CDATA[<p><a href="http://www.theblueplanet.org/JSimul_readme.html">JSimul</a> is a java-based simulated annealing package.</p>

<blockquote>JSimul is a JAVA-based simulated annealing package consisting of three layers:
<ul>  <li> A swing-based user interface that provides intuitive access to the tuning of the algorithm's parameters.</li>  <li>A simulated annealing algorithm coupled with a downhill simplex, mostly a JAVA object wrapper around two algorithms in Numerical Recipes (1) (ameba & amotsa). The driver is inspired from the example book(2), but I've added my own clustering scheme to test for convergence.</li>  <li>Examples of a third layer (ie: test objective functions to minimize) are provided with the release. Refer to the directory structure section for their location. Presently, this third layer must be written in JAVA. Adding the flexibility of using C or Fortran code (through JNI) is high on the TODO list</li>
</blockquote>

<p>I love things that search solution spaces, particularly for solutions that aren't necessarily <b>correct</b> or <b>incorrect</b>, but rather <b>feasible</b> or <b>optimal</b>.  I've got a strong interest in <b>genetic algorithms</b> which are a somewhat distant cousin of simulated annealing.   What is cool (pun intended) about SA is that its based upon the real-world metaphor of slowly cooling metal during the annealing process.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-11-10T02:41:55+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000372_make_it_look_like_outlook.html">
<title>Make it look like Outlook</title>
<link>http://blogs.codehaus.org/people/bob/archives/000372_make_it_look_like_outlook.html</link>
<description><![CDATA[<p><a href="http://www.dynamicobjects.com/">dynamicobjects spaces</a> is just one example of the trend of everyone wanting to make everything look like Outlook.  We all complain about how crappy MS software is, how they can't design a <b>humane interface</b> to save their ass, yet we attempt to make every application look like Outlook.  </p>

<p>At my previous Day Job, we were working on a logistics execution application.  It looked like Outlook.  Hrm.</p>

<p>Outlook's 3-pane design might be roughly useful for applications that mostly just organize data.  But, for robust applications that have user interactions that are more complex than pushing bits from one folder to another, please attempt to resist the urge to make it look like Outlook.  </p>

<p>[disclaimer: I still do email using Pine 3.96 and vi]</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-11-08T00:53:37+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000371_national_go_crazy_day.html">
<title>National Go Crazy Day!</title>
<link>http://blogs.codehaus.org/people/bob/archives/000371_national_go_crazy_day.html</link>
<description><![CDATA[<p>Looks like Russell <a href="http://www.russellbeattie.com/notebook/index.jsp?date=20021105#182633">forgot his medicine</a> this morning.  We all have political ideas and agendas, but I prefer to think of the <b>java.blog</b> world as a place we can set aside irrational/emotional crap, and go about getting some real work done.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-11-05T16:11:59+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000370_new_scm_patterns_book.html">
<title>New SCM Patterns Book</title>
<link>http://blogs.codehaus.org/people/bob/archives/000370_new_scm_patterns_book.html</link>
<description><![CDATA[<p>Stephen Berczuk and Brad Appleton have just published <a href="http://www.berczuk.com/scm-patterns-book/">SCM Patterns</a>.  That's <b>software configuration management</b> not <b>supply-chain management</b> in case you're confused.  Brad's a smart guy, even if he has an unnatural love for Rational ClearFoo products.  I like SCM, having done a little time with <a href="http://www.accurev.com/">accurev</a>.</p>

<blockquote>This book describes many of the common problems organizations face when using SCM in a way that is not consistent with the needs of their organization. The book presents the patterns organized in a pattern language that shows how the various structures that you need to use for an effective SCM system build on each other.
</blockqoute>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-11-03T22:07:31+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000369_personal_citeseer.html">
<title>Personal CiteSeer</title>
<link>http://blogs.codehaus.org/people/bob/archives/000369_personal_citeseer.html</link>
<description><![CDATA[<p>I love CiteSeer, but I need some help.  I need something, maybe a bookmarklet, that can help me organize my various findings while browsing CiteSeer.   Accumulating bookmarks in mozilla isn't useful and makes it difficult to share my findings.   I basically want to be able to have a blog that's centered around a <b>research topic</b>.  </p>

<p>In addition to possibly adding to a bloglike <b>recently added</b> page, I'd want to be able to index the page multiple ways (ie, by topic, by project, by date, etc...).  Ultimately, it could scrape the CiteSeer page and download a .pdf or .ps to a local cache. </p>

<p>Surely there's a MovableType Perl hacker out there who has  Copious Amounts of Free Time to hack something up.  I think MT has most everything we'd need.  Just need to sort of repurpose it.</p>

<p>Bonus points if it's WikiEnabled.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-29T21:46:25+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000368_29_29.html">
<title>29 @ 29</title>
<link>http://blogs.codehaus.org/people/bob/archives/000368_29_29.html</link>
<description><![CDATA[<p>Well, I'm 29 today.  Life is good.  I have a wonderful wife and son, a house full of pets who I <i>think</i> appreciate me and extremely enjoyable work.  Though, I could always use <a href="http://www.amazon.com/exec/obidos/registry/2L8Q55I8B4YZE">more books</a> if anyone, ahem, wants to help me celebrate.</p>]]></description>
<dc:subject>Home</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-29T00:57:56+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000367_application_isolation_jsr.html">
<title>Application Isolation JSR</title>
<link>http://blogs.codehaus.org/people/bob/archives/000367_application_isolation_jsr.html</link>
<description><![CDATA[<p><a href="http://jcp.org/jsr/detail/121.jsp">JSR 121</a>, the Application Isolation API specification looks kinda cool.  Unlike many JSRs, this one at least has a fair number of public documents at this stage in the game (scroll down).</p>

<blockquote>This API provides a uniform mechanism for managing Java application life cycles that are isolated from each other, at least with respect to object reachability, but that can potentially share underlying implementation resources. It provides a means of deploying new Java implementation features that enable and enhance scalability while providing an alternative to ad hoc control schemes.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-27T02:14:32+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000366_serverside_wet_dream.html">
<title>Server-Side Wet Dream</title>
<link>http://blogs.codehaus.org/people/bob/archives/000366_serverside_wet_dream.html</link>
<description><![CDATA[<p>The <a href="http://jakarta.apache.org/avalon/">Avalon Project</a> over at Jakarta has blown my socks off over the past 48 hours.  It is a server-side hacker's wet dream.  </p>

<p>I've always enjoyed the idea of <b>component-oriented architectures</b>.  Unfortunately, most component frameworks decided to assume network-accessible <b>distributed components</b>.  So, I always ended up avoiding them, using normal JavaBeans and hacking in my own lifecycle and broker patterns.  Never the same way twice. </p>

<p>Jason van Zyl kept promoting Avalon to me (plus, I'm going to have to use it on the Day Job(tm) anyhow), so I finally dug in.  I decided to make <a href="http://werkflow.werken.com/">werkflow</a> be Avalon-enabled.  Having Avalon force me to think about components has definitely helped the design and extensibility.  The configuration mechanism, while a little wacky, is certainly nice.  And I'm finally understanding the true benefit of <b>inversion of control</b>.  </p>

<p>So, if you want flexibility and life-cycle management in a component architecture framework that doesn't assume you want distributed object, definitely check out avalon.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-24T17:47:08+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000365_business_models.html">
<title>Business Models</title>
<link>http://blogs.codehaus.org/people/bob/archives/000365_business_models.html</link>
<description><![CDATA[<p>As many of you guys know, <a href="http://www.werken.com/">The Werken Company</a> as a hopefully-viable commercial venture, is pretty new.  You may also be familiar with our various open-source projects.</p>

<p>We've had the extremely good luck to have some of our development sponsored by <a href="http://zenplex.com/">Zenplex</a>, a company that uses, supports and produces open-source software.</p>

<p>So, I'm wondering how many of you guys know you have a need for a rules engine, or a workflow engine, or whatever else we're churning out here at Werken.   How many of you have done any sort of cost/benefit analysis comparing building in-house, licensing a commercial offering, or supporting an open-source project?</p>

<p>Ideally, I'd like to have our open-source projects treated as sort of a venture fund.  Many organizations with a need for rules, workflow, or whatnot could contribute dollars towards the development.  Sure, development continues without sponsors, but sponsors get their use-cases considered quicker, their bugs fixed faster, and their voices heard more often in general.</p>

<p>I know the now-defunct SourceXchange attempted something similar, but lacked the coherent organization of developers by instead simply hooking random developers with random sponsors. I think we're different as we have a history, code you can inspect, projects that are already underway, and a developer headcount greater than one (there's three of us werkers, now).</p>

<p>Would <b>your organization</b> be interested in sharing the costs of development of these infrastructure pieces with others and support the open-source community at the same time?</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-23T03:45:10+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000364_notes_on_postmodern_programming.html">
<title>Notes on Postmodern Programming</title>
<link>http://blogs.codehaus.org/people/bob/archives/000364_notes_on_postmodern_programming.html</link>
<description><![CDATA[<p><a href="http://www.mcs.vuw.ac.nz/comp/Publications/CS-TR-02-9.abs.html">Notes on Postmodern Programming</a> is a nice paper to make you think about what it is we're doing.</p>

<blockquote>These notes have the status of letters written to ourselves: we wrote them down because, without doing so, we found ourselves making up new arguments over and over again. When reading what we had written, we were always too satisfied. For one thing, we felt they suffered from a marked silence as to what postmoderism actually is. Yet, we will not try to define postmodernism, first because a complete description of postmodernism in general would be too large for the paper, but secondly (and more importantly) because an understanding of postmodern programming is precisely what we are working towards. Very few programmers tend to see their (sometimes rather general) difficulties as the core of the subject and as a result there is a widely held consensus as to what programming is really about. If these notes prove to be a source of recognition or to give you the appreciation that we have simply written down what you already know about the programmer's trade, some of our goals will have been reached. 
</blockquote>

<p>via slashdot.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-23T02:20:47+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000363_beep4j.html">
<title>beep4j</title>
<link>http://blogs.codehaus.org/people/bob/archives/000363_beep4j.html</link>
<description><![CDATA[<p>Brett Morgan mentioned ny <a href="http://beep4j.org/">beep4j</a> project but complained about the broken domain-name.  The problem is that SourceForge is almost complete crap and can't handle more than a single vhost entry, apparently.  This has been a probelm for a long time and has yet to be fixed.  Hence, my slow migration of my projects away from SourceForge.</p>

<p>Brett.... You don't allow comments on your blog?</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-19T20:29:33+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000362_internal_apis.html">
<title>Internal APIs</title>
<link>http://blogs.codehaus.org/people/bob/archives/000362_internal_apis.html</link>
<description><![CDATA[<p><a href="http://radio.weblogs.com/0107789/">Mike</a> hits the nail on the head with this one, while thinking about mock objects.</p>

<blockquote>Rule 2 is especially interesting, because mock testing forces you to think of your code as an API - as you now have two 'clients' (your other code, and your tests). I think in the end it will lead to a much nicer architecture.
</blockquote>

<p>I think this is the absolutely #1 reason there is so much <b>crappy code</b> in the world.  Folks, for some reason, view <b>API</b>s as being in the realm of frameworks, libraries and other infrastructure, where it's not something to consider while writing an application.  Though, we must not forget that the <b>public</b>, <b>protected</b>, <b>private</b>  and in java's case, the wacky <b>no keyword, but package protected</b> all force us to think of several different APIs.</p>

<p><b>private</b> The API used only within your class.  It can be a very informal API, as as wicked as it may be, absolutely no one else has to suffer it.  Feel free to live in your own filth.</p>

<p><b><i>package protected</i></b> You're opening yourself up and telling your close friends some of your darkest secrets.   These are things you don't necessarily want to whole world to know, but you should at least make them presentable to others.</p>

<p><b>protected</b> This one is a bit weird.  You're still sharing with your friends, but now, any moron who walks up and decides that you are his god has certain access to you.  </p>

<p><b>public</b> Most of the world cares about this, and you don't want to frighten, confuse or scare them.  Simplicity is good.  Interfaces, interfaces, interfaces.  </p>

<p>Anyhow, yes, I agree, Mike.  People who don't really consider their classes to be ultra-small APIs even to be used by other classes in the same package, they are basically just writing (possibly poor) procedural code glommed onto an object.</p>

<p>Ick.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-15T02:04:21+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000361_java_community_process.html">
<title>Java Community Process</title>
<link>http://blogs.codehaus.org/people/bob/archives/000361_java_community_process.html</link>
<description><![CDATA[<p><a href="http://radio.weblogs.com/0112098/">James Strachan</a> continues the JCP discussion, regarding his experience with JCACHE.</p>

<blockquote>I totally agree with Cameron on this. JSRs should be developed in the open. Anyone should be able to comment on JSRs, while they are still under development and see the discussions that their comments cause. Right now any comments you send to a JSR from your perspective typically just go into a black hole.

<p>I'm on quite a few JSRs, including the JCache JSR (and developed the first non-Oracle JCache implementation at my employer, SpiritSoft). I think its very sad that JSRs don't operate in the public.</p>

<p>Sun's reasoning behind this is that typically various companies on the expert group need to give away details of their intellectual property and so only want to do this in private amonst other people who have also signed NDAs. This NDA issue is a real problem in big business, but then maybe this highlights that standards should mostly be created by individuals, in a totally open manner (like most open source projects) rather than being vehicles for big business to gain competitive advantage.</p>

<p>I've often wondered if a new standards body could form, following the Apache style guidelines to running open source projects, where standards are created in an open manner using a meritocracy.<br />
</blockquote></p>

<p>My only two direct experiences with the JCP were...</p>

<ol>
<li>The JDOM JSR (102, I think).  Pretty much developed around the refence implementation (JDOM) and in the open on the jdom-interest list.  But, I'm annoyed that it isn't very clear to most people that JCP is merely a <b>process</b> and not necessarilyi some form of blessing form Sun.  And as far as processes go, I think the JCP is a pretty bad one for all the reasons Strachan and others have outlined.  With JDOM having a JSR, I've seen many folks assume that JDOM will become the <i>officilal</i> or <i>sanctioned</i> object model for XML.    This is not the case, and if you read through the jdom-interest archives, you'll hear the founding members say as much.

<p>I was, for a while, a member of the JDOM expert group due to my contributions through the Jaxen XPath engine.  Aside from adding some comments via jdom-interest, which anyone could do, I didn't really feel that special.  The JDOM JSR is also probably one of the slowest moving on the JSR track.<br />
</li><br />
<li>As implementor of drools, I have an interest is JSR-94, the Java Rule Engine API.   I had many many folks ask if drools would support JSR-94 even before it was publically available.  It's a question that everyone asks and that no implementor can answer until actually able to judge the appropriateness of the JSR. </p>

<p>I deemed JSR-94 to be <a href="http://drools.org/jsr94-comments.html">inappropriate</a> in its public-review form to give any effort towards making drools compliant.  </p>

<p>As requested during the public-review period, I compiled my comments and sent them to the comments address.  I've heard absolutely nothing in response.  I have no idea (and absolutely no faith) that JSR-94 will in any way be affected by my comments.<br />
</li><br />
</ol></p>

<p>With a few exceptions, the JCP is most definitely a Cathedral and not a Bazaar.  It's a cathedral behind a very tall, very thick hedge.  Surrounded by a moat.  With alligators and snakes.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-14T09:39:02+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000360_planning_and_scheduling.html">
<title>Planning and Scheduling</title>
<link>http://blogs.codehaus.org/people/bob/archives/000360_planning_and_scheduling.html</link>
<description><![CDATA[<p>As you might know, I've recently been working on a workflow/process engine known as <a href="http://werkflow.werken.com/">werkflow</a>.  Some folks want to use it for large-scale business processes, some think it could drive UIs, and others think it might make a suitable EAI component.</p>

<p>I personally come from a resource planninng and scheduling background, of sorts.  Workflow involves a lot of resource planning and scheduling but potentially on a different scale than I am used to.  So, this is a call to all the readers out there...</p>

<p>I'm currently thinking that the workflow itself handles the planning aspects of activities to be performed.  So, mostly it's a resource scheduling problem.  Resource scheduling is NP-hard, but there are a ton of different heuristics that can be used.  With <code>werkflow
</code>
, I'll at least have a pluggable scheduling framework, to allow for specialized scheduling algorithms.  But, I'd really also like a general-purpose, tending towards real-time, scheduling engine to ship by default.</p>

<p>When dealing with longer scheduling horizons and activity execution times, we are afforded more time for complex scheduling.  It's the short time horizon case that I'm unfamiliar with.  Anyone out there have a favorite real-time algorithm?  Ideally, it'd introduce very low overhead in a mostly contention-free environment.  I'm thinking along the lines of werkflow being use to drive your typical web-app, where you have almost enough database connections, etc. Once we start scheduling trucks for cross-country hauls, I'm back on familiar ground.<br />
So, anyone with any useful ideas or algorithm names I should plug into CiteSeer?</p>

<p>(Sorry folks, but I find problems like this infinitely more interesting that the RSS-Dialect-Of-The-Day or My-MVC-Framework-Is-Better-Than-Yours topics...)</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-14T01:43:08+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000359_net_legends.html">
<title>Net Legends</title>
<link>http://blogs.codehaus.org/people/bob/archives/000359_net_legends.html</link>
<description><![CDATA[<p>For the longest time, the people who qualified as <b>net legends</b> was pretty small, and pretty much universally agreed upon.  Sure, each group had their own legends, as the open-source community has <b>ESR</b>, <b>RMS</b>, or <b>Bruce Perens The Original Author of The Open-Source Definition</b> (yes, I think that's his full name).  Others, like <b>Knuth</b> seem to rise above any particular community.  </p>

<p>Now, with blogs and maturity of open-source organizations, it seems that communities are getting smaller and therefore it takes less to become a luminary within any particular community.  Strangely, it seems that luminary status is somewhat transitive.  Joe might be the luminary in the Froboz community, which only has 5 members, but he's respected by luminaries of other, much larger, communities.  Sorta like the Senators from Rhode Island.</p>

<p>I recently found the <b>java.blog</b> community and pretty quickly established that <b>Brett Morgan</b> and <b>Russel Beattie</b> are people to listen to.  I'm not a part of the <b>RSS</b> community, but I seem to understand that <b>Sam Ruby</b> and <b>Dave Winer</b> are at least making a lot of noise.</p>

<p>Over in <b>jakarta</b>, even that small community is fragmented.  The <b>maven</b> community listens to <b>Jason van Zyl (jvz)</b> while, once again, the <b>gump</b> community looks to <b>Sam</b> I think.  <b>James Strachan (jstrachan)</b> crosses several communities both in and out of jakarta.</p>

<p>One thing to note, is most luminaries tend to be known by their logins, initials, or some handle.  A few are known by their whole names.   I'm certain that <b>RMS</b> knows he's a net legend, but do all net legends recognize their status?  Do they realize the power they throw around, necessarily, whenever they make an idle comment? </p>

<p>Sorry, no links, excerpts or references.  Just random thoughts.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-12T14:15:48+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000358_article_about_maven.html">
<title>Article about Maven</title>
<link>http://blogs.codehaus.org/people/bob/archives/000358_article_about_maven.html</link>
<description><![CDATA[<p><a href="http://www.javaworld.com/javaworld/jw-10-2002/jw-1011-maven.html?">Maven ties together tools for better code management</a> is an article by Jeff Linwood talking about some of the highlights of maven.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-12T01:02:26+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000357_petri_net_reading.html">
<title>Petri Net Reading</title>
<link>http://blogs.codehaus.org/people/bob/archives/000357_petri_net_reading.html</link>
<description><![CDATA[<p><a href="http://citeseer.nj.nec.com/vanderaalst98application.html">The Application of Petri Nets to Workflow Management - van der Aalst (ResearchIndex)</a> is probably what I'd call the starting-point in your journey through CiteSeer to accumulate knowledge of Petri nets.</p>

<p>Brett Morgan had asked that I produce references to the papers I read to go from zero to Petri in 2 days.</p>

<p>Overall, W.M.P. van der Aalst seems to be the shinig light in the world of Petri nets for workflow systems.</p>

<p>For what it's worth, <a href="http://petridish.werken.com/">petridish</a> supports coloured petrinets, but <a href="http://werkflow.werken.com/">werkflow</a> does not take advantage of them.  Werkflow has exactly one colour of token flowing through the network:  bare <code>java.lang.Object
</code>
s.  </p>

<p>Anyhow, Brett and others, start with that paper and explore CiteSeer.  Aalst is The Man.</p>

<p>(One of his papers was also recommended by a commentor).</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-11T09:04:33+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000356_cmm_is_not_a_methodology.html">
<title>CMM is -Not- a Methodology</title>
<link>http://blogs.codehaus.org/people/bob/archives/000356_cmm_is_not_a_methodology.html</link>
<description><![CDATA[<p><a href="http://www.sei.cmu.edu/cmm/cmm.html">Capability Maturity Model for Software</a>, also known as SW-CMM is an assessment tool to measure a given methodology.  I'm sure many of you guys know this.  But, lots of folks writing for software development journals and HR staff writing help-wanted adverts apparently do not realize this.</p>

<p>I'm just tired of reading articles that describe the extremes of metholodies ranging from XP to CMM.   XP is a process.  CMM is a way to assess your implementation of your selected process.  All processes, and even not-using-a-process can be considered 'CMM', though  just CMM Level 0.</p>

<p>At my <a href="http://tambora.zenplex.org/">current gig</a>, we're doing a pretty consistent SCRUM process.  While it's a light-weight method that has produced very little paperwork, I think we could be assessed higher than level-0. </p>

<blockquote>The Capability Maturity Model for Software (CMM or SW-CMM) is a model for judging the maturity of the software processes of an organization and for identifying the key practices that are required to increase the maturity of these processes.
</blockquote>
Anyhow, just trying to do my part to clear up confusion in the world.  I hope it helped.]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-11T02:39:06+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000355_web_services_gartner_has_an_opinion.html">
<title>Web Services: Gartner has an Opinion</title>
<link>http://blogs.codehaus.org/people/bob/archives/000355_web_services_gartner_has_an_opinion.html</link>
<description><![CDATA[<p><a href="http://www.infoworld.com/articles/hn/xml/02/10/08/021008hnwsgrade.xml">Gartner grades the Web services standards</a> really isn't all that insightful.  But then again, the companies I've worked for who were Gartner clients were wasting money as far as I could tell.  Buy a couple of your neighborhood gurus a few espressos and they'll give you an opinion as worthy as Gartner's. </p>

<p>Somewhat funny quote though...</p>

<blockquote>Higher up the Web services stack, Perlstein gave BPEL4WS a Promising rating, and called it the "worst-named specification."
</blockquote>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-11T01:05:42+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000354_petri_nets_awareness.html">
<title>Petri Nets (awareness)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000354_petri_nets_awareness.html</link>
<description><![CDATA[<p><a href="http://petridish.werken.com/">petridish: the petri net framework</a> is yet-another BobProject(tm).</p>

<p>I'd originally planned on building <a href="http://werkflow.werken.com/">werkflow</a> using <a href="http://blissed.werken.com/">blissed</a>, which is a finite-state-machine framework.  But, then, a few folks chatted with me about <b>Petri nets</b>, and I did a lot of reading from <a href="http://citeseer.nj.nec.com">CiteSeer</a>.  I have decided that yes, Petri nets are indeed the way to go.</p>

<p>Hence, the new project.</p>

<p>No release yet, but just trying to raise awareness, since workflow seems to be a somewhat hot meme these days.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-09T02:21:10+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000353_masturabatory_blogging.html">
<title>Masturabatory Blogging</title>
<link>http://blogs.codehaus.org/people/bob/archives/000353_masturabatory_blogging.html</link>
<description><![CDATA[<p>I've seriously reduced the number of blogs I read in the past weeks, as the main topic of conversation has turned towards RSS and aggregation.  While that's all well-and-good, it's really not something I want to read about in 12 places every day.   I know there's a (r)evolution going on in the RSS world, but all of these blogs about blogging and aggregation just seem a tad masturabatory.  When I pick up a newspaper, I'm pretty much hoping that it'll contain information aside from that about the printing industry.  Likewise, I read blogs to learn about non-blog ideas.  Sure, there's a certain sense in dog-fooding the experimental RSS technologies, but I'll stick to Russell, Strachan and other folks who don't feel the need to make RSS/Blogging 98% of the content on their blog.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-10-01T10:53:20+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000352_pretty_urls.html">
<title>Pretty URLs</title>
<link>http://blogs.codehaus.org/people/bob/archives/000352_pretty_urls.html</link>
<description><![CDATA[<p><a href="http://adaptivepath.com/publications/essays/">User-Centered URL Design</a> touches on a meme I've noticed recently.  I personally got frustrated with jakarta-struts and the fact that it required me to produce ugly URLs in my particular use-case.  Russel has recently complained about ugly radio URLs.</p>

<p>The article references Tufte...</p>

<blockquote>But despite the universality of URLs, we often forget that they're not just a handy way to address network resources. They're also valuable communication tools. They help orient users in your architecture, and can suggest whether other options are available.

<p>In Edward Tufte's classic book The Visual Display of Quantitative Information, he coins the term chartjunk to refer to needless visual flourishes that contribute nothing to the effectiveness of an information design in communicating to its audience. These days, our URLs are loaded down with something very similar: long strings of characters that exist only to satisfy some technical constraint, detracting from the effectiveness of our URLs as communication tools. Call it CMSjunk.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-27T23:01:38+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000351_drools20beta7.html">
<title>drools-2.0-beta-7</title>
<link>http://blogs.codehaus.org/people/bob/archives/000351_drools20beta7.html</link>
<description><![CDATA[<p>Well, I just released version 2.0-beta-7 of drools. You can <a href="http://lists.werken.com/pipermail/drools-interest/2002q3/000179.html">read the full announcement</a>.</p>

<blockquote>I've tagged CVS (DROOLS_2_0_BETA_7) and released new source and binary distributions. I've also pushed a new jar to the repo if you're using drools from a mavenized project. http://drools.org/releases.html</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-27T22:50:18+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000350_nontech_freedom_of_speech.html">
<title>Non-Tech: Freedom of Speech</title>
<link>http://blogs.codehaus.org/people/bob/archives/000350_nontech_freedom_of_speech.html</link>
<description><![CDATA[<p>I guess I'm glad to know that <a href="http://story.news.yahoo.com/news?tmpl=story2&cid=664&u=/ap/20020926/ap_to_po/political_ads_2&printer=1">political ad restrictions</a> don't affect Leno and Letterman (what about Conan?).  There mere fact that the feds have to clarify that entertainers can talk about an election near polling day shows us just how close we've gotten to losing some of our guaranteed freedoms.</p>

<p>I'll take <b>freedom</b> instead of <b>security</b> any day.  But then again, I'm a libertarian.</p>

<blockquote>Jay Leno ( news - Y! TV) and David Letterman ( news - Y! TV) still will be able to joke about federal political candidates in the weeks before an election. The Federal Election Commission ( news - web sites) says comments like theirs are not covered by the new campaign finance law.

<p>The law, which takes effect Nov. 6, prohibits special interest groups from airing ads identifying federal candidates within one month of a primary or two months of a general election.</blockquote></p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-27T11:26:59+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000349_scariest_clown_ever.html">
<title>Scariest... Clown... Ever...</title>
<link>http://blogs.codehaus.org/people/bob/archives/000349_scariest_clown_ever.html</link>
<description><![CDATA[<p>This evening, Rebecca and I watched <a href="http://us.imdb.com/Title?0120467">Vulgar</a>.  Produced by Kevin Smith of <b>Clerks</b> fame and having a clown as the main character, we thought it might be a fun movie.  It's a good movie that I certainly recommend.  But it most definitely is <b>not</b> in the same genre as <b>Clerks</b>.  It's somewhat a mix between <b>Rocky Horror Picture Show</b>, <b>Shakes The Clown</b> and <b>Deliverance</b>.</p>

<blockquote><b>Plot Outline:</b> A young man finds fame as a transvestite clown named Vulgar.
</blockquote>

<p>Tangentially, my all-time-favorite movie is probably <a href="http://us.imdb.com/Title?0112817">Dead Man</a> by Jim Jarmusch.  The soundtrack by Neil Young is especially cool.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-26T02:16:52+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000348_qdox.html">
<title>QDox</title>
<link>http://blogs.codehaus.org/people/bob/archives/000348_qdox.html</link>
<description><![CDATA[<p><a href="http://qdox.sourceforge.net/">QDox</a> caught my attention today.  I'm not sure how/if it's better than XDoclet (having never really looked at XDoclet).    I have no idea when I might use it.  But, it just seems like one of those projects I should remember for a later date.</p>

<blockquote>QDox is a high speed, small footprint parser for extracting class/interface/method definitions from source files complete with JavaDoc @tags. It is designed to be used by active code generators or documentation tools.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-26T00:03:59+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000347_classworlds10beta1.html">
<title>classworlds-1.0-beta-1</title>
<link>http://blogs.codehaus.org/people/bob/archives/000347_classworlds10beta1.html</link>
<description><![CDATA[<p><a href="http://classworlds.werken.com/releases.html">classworlds 1.0-beta-1</a> has now been released.  Still might not be ready for prime time, but we'll never know if you don't try it out and give it a spin.</p>

<p>Also, fwiw, classworlds is intended as a full replacement for <a href="http://forehead.werken.com/">forehead</a>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-24T17:13:03+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000346_classloading_differently.html">
<title>ClassLoading, differently</title>
<link>http://blogs.codehaus.org/people/bob/archives/000346_classloading_differently.html</link>
<description><![CDATA[<p>It's not quite ready for prime-time, I don't think, but James Strachan already blogged me, so I might as well blog myself.  I've started <a href="http://classworlds.werken.com/">classworlds</a>, a new project to hopefully help rid ourselves of classloader psychosis once and for all.</p>

<p>It effectively turns the ClassLoader tree hierarchy into a directed graph of ClassLoaders.  Effectively, a ClassLoader can have multiple 'parents' from which it can load classes.  The relationship between ClassLoaders can be constrained to only allow classes belonging to certain packages to be loaded across ClassLoaders.  Effectively, you get fine-grained firewalling with a sort of <i>mix-in</i> flavor to it.</p>

<blockquote>classworlds is a framework for container developers who require complex manipulation of Java's ClassLoaders. Java's native ClassLoader mechanims and classes can cause much headache and confusion for certain types of application developers. Projects which involve dynamic loading of components or otherwise represent a 'container' can benefit from the classloading control provided by classworlds.

<p>classworlds provides a richer set of semantics for class loading than Java's normal mechanisms, while still being able to provide a ClassLoader interface to integrate seamlessly with the Java environment.</p>

<p>The classworlds model does away with the hierarchy normally associated with ClassLoaders. Instead, there is a pool of ClassRealms which can import arbitrary packages from other ClassRealms. Effectively, classworlds turns the old-style hierarchy into a directed graph.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-24T04:05:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000345_classloading.html">
<title>Classloading</title>
<link>http://blogs.codehaus.org/people/bob/archives/000345_classloading.html</link>
<description><![CDATA[<p><a href="http://www.theserverside.com/resources/article.jsp?l=AdvancedClassLoading">Advanced Classloading in J2EE</a> is a pretty good explanation of the various intricacies of Java classloaders.  I'm planning on taking knowledge gained from this (and other) articles and incorporating it into <a href="http://forehead.werken.com/">forehead</a>, my classloader management project.</p>

<blockquote>Classloading can be one of the nasty issues in a J2EE environment. Questions come to mind like: How to integrate with 3rd party libraries, which have conflicting classes, how to use remote stubs, etc.

<p>This article will describe an especially sophisticated classloading system that combines ease of use with efficiency and compliant behaviour in order to deal with the mentioned questions. This classloading approach also contains a mechanism to separate internally used libraries from user-installable libraries that could potentially conflict with each other.</p>

<p>As an example, such advanced classloading mechanisms are implemented in IONA's Orbix E2A Application Server. It's classloading techniques will be illustrated and their usage demonstrated.</blcokquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-22T02:21:04+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000344_jelly_docs.html">
<title>Jelly Docs</title>
<link>http://blogs.codehaus.org/people/bob/archives/000344_jelly_docs.html</link>
<description><![CDATA[<p><a href="http://radio.weblogs.com/0112098/">James Strachan's Radio Weblog</a> tells us that...</p>

<blockquote>Jelly documentation finally starting to improve :-)

<p>Jelly has just gotten a <a href="http://jakarta.apache.org/commons/sandbox/jelly/gettingstarted.html">getting started guide</a> and an introductory <a href="http://jakarta.apache.org/commons/sandbox/jelly/tutorial.html">tutorial</a>.</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-20T11:57:37+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000343_blissed10beta1.html">
<title>blissed-1.0-beta-1</title>
<link>http://blogs.codehaus.org/people/bob/archives/000343_blissed10beta1.html</link>
<description><![CDATA[<p>Following up on yesterday's ramblings about blissed, I'm pleased to announce that <a href="http://blissed.werken.com/releases.html">blissed-1.0-beta-1</a> has been released. </p>

<blockquote>blissed is a very small framework to assist in the creation, management and execution of processes and states.

<p>blissed is not intended to be useful on its own, but rather may support a larger workflow system or other process-based application. To allow it to be easy to integrate with other projects, a Jelly tag library is provided.</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-19T11:15:09+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000342_calendar_taglib.html">
<title>Calendar Taglib</title>
<link>http://blogs.codehaus.org/people/bob/archives/000342_calendar_taglib.html</link>
<description><![CDATA[<p>Mike and someone else were chatting about needing a <a href="http://www.servletsuite.com/servlets/caltag.htm">Calendar taglib</a>...</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-19T09:49:40+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000341_xom_rustys_xml_object_model.html">
<title>XOM: Rusty&apos;s XML Object Model</title>
<link>http://blogs.codehaus.org/people/bob/archives/000341_xom_rustys_xml_object_model.html</link>
<description><![CDATA[<p>Rusty has hinted about it for a while, but he's finally made <a href="http://www.cafeconleche.org/XOM/">XOM</a> available after presenting it to the NY XML SIG.</p>

<blockquote>XOM is a new XML object model. It is an open source (LGPL), tree-based API for processing XML with Java that strives for correctness and simplicity.</blockquote>

<p>His pages contains the presentation given, which includes a nice overview comparison to JDOM, EXML DOM and dom4j.</p>

<p>fwiw, I think XOM more closely resembles earlier versions of EXML.  I've got to wonder if the world will accept yet-another object model, even if it is superior.  We'd all like to hope so, of course.  But, I think we're bordering on xml object-model exhaustion.</p>

<p>Regardless, <a href="http://jaxen.org/">jaxen</a> will probably support it sometime soon, bringing to the total number of models supported by jaxen to 5.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-19T02:51:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000340_grand_flow_unification_theory.html">
<title>Grand Flow Unification Theory</title>
<link>http://blogs.codehaus.org/people/bob/archives/000340_grand_flow_unification_theory.html</link>
<description><![CDATA[<p><a href="http://www.aspnews.com/analysis/analyst_cols/article/0,2350,4431_1465401,00.html">Oracle's Modest Proposal</a> is a quick little article talking about Oracle's appeal to the W3C and others with regards to coming up with a unified flow language.</p>

<p>I'm not certain that Oracle's intentions are altruistic or even if I care.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-19T02:05:18+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000339_blissful_state_machines.html">
<title>blissful // state machines</title>
<link>http://blogs.codehaus.org/people/bob/archives/000339_blissful_state_machines.html</link>
<description><![CDATA[<p>Thanks to funding from <a href="http://zenplex.com/">Zenplex</a>, I have been hacking <a href="http://blissed.werken.com/">blissed</a> quite a lot lately.  <code>blissed
</code>
 will be the underpinnings for the <a href="http://werkflow.werken.com/">werkflow project</a>, also sponsored by Zenplex.</p>

<p><code>blissed
</code>
 supports all sorts of inter-process interaction and is generic enough to be directly embedded in your application with whatever semantics you desire.  A process instance can call into another process or it may spawn additional process instances. </p>

<p>The very familiar concepts of Process, State, Transition, Guard and Activity are modelled in a generic way to reduce imposed constraints.</p>

<p>I'm also particularly proud that I have no Checkstyle violations and Clover tells me I'm <a href="http://blissed.werken.com/clover/index.html">98.9% covered</a>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-18T14:27:10+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000338_jsr147_workspace_versioning.html">
<title>JSR-147 Workspace Versioning...</title>
<link>http://blogs.codehaus.org/people/bob/archives/000338_jsr147_workspace_versioning.html</link>
<description><![CDATA[<br />
<a href="http://www.webdav.org/deltav/wvcm/">WVCM API</a> is yet-another JSR.  In a previous life, I did revision-control software, so this JSR does look interesting to me.

<blockquote>This specification will address these problems by defining a client side library that will expose the full DeltaV functionality, but will:

<ul>
  <li> automatically provide client-side file maintenance required by any operation</li>
  <li>hide whether or not DeltaV or some other protocol is being used to communicate with the server</li>
  <li>hide the distinction between a client workspace and a server workspace in the client side library implementation, so that a user of the library is presented with a single uniform workspace interface.</li>
</ul></blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-17T18:57:32+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000337_geek_diversity.html">
<title>Geek Diversity</title>
<link>http://blogs.codehaus.org/people/bob/archives/000337_geek_diversity.html</link>
<description><![CDATA[<p>The description of <a href="http://freshmeat.net/releases/97286/">abcm2ps</a> just tickles me.  I'm amazed and impressed that someone concerned with organ scores for Baroque music is also a person who can hack Postscript.  The geeks of the world are certainly diverse.  </p>

<blockquote>abcm2ps is a package that converts music tunes from ABC format to PostScript. Based on abc2ps version 1.2.5, it was developed mainly to print baroque organ scores that have independant voices played on one or more keyboards, and a pedal-board. It introduces many extensions to the ABC language that make it suitable for classical music.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-16T12:12:05+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000336_wsfl_chapter.html">
<title>WSFL Chapter</title>
<link>http://blogs.codehaus.org/people/bob/archives/000336_wsfl_chapter.html</link>
<description><![CDATA[<p><a href="http://softwaredev.earthweb.com/java/article/0,,12082_1462301,00.html">Web Services and Flows (WSFL)</a> is Chapter 18 from <i>Java Web Services Unleashed</i> by Brunner et al.  I'm in werkflow mode, so this is interesting.</p>

<blockquote>Complete representations of complex service interactions rely on two basic concepts: service flow and service composition. The service flow is a description of how the service operates. In business environments, the service flow is a representation of the business process that it implements. By revealing the internal operation of the service, the flow lets users and possible business partners know how the service should be used. In particular, the flow describes the order in which the operations the service provides should be used, and the logic the service follows to process requests. Following a long-standing tradition in the field of business process modeling, WSFL uses a flow model to represent service flows. The flow model itself is presented in the section Flow Modeling Concepts.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-16T02:22:19+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000335_webby_mvc_webwork_and_struts.html">
<title>Webby MVC (WebWork and Struts)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000335_webby_mvc_webwork_and_struts.html</link>
<description><![CDATA[<p>It's been cool, lately, to debate the various parts of Struts, WebWork and other web MVC frameworks.</p>

<p>I've recently played with Struts and it's not exactly making me happy.  I'm a big fan of using regular expressions to take synthetic URLs and remap them to actual URLs, changing parts of the path to query parameters.   Struts simply does not play friendly with that concept.  It must work in terms of static URL patterns instead of Regexps.  Since it's ignorant of URL rewriting, I cannot submit forms to URLs that <b>I</b> know are valid (or will be after rewriting), and thus Struts forces me into the world of Ugly URLs.</p>

<p>So, I've looked at WebWork.  I finally understand the concept of WebWork, since it's exactly the same concept that Jelly uses.  A  WebWork Action is like a Jelly Tag.  Something pulls your tag, instantiates it, calls some settors, and then executes it.  Possibly then wash, rinse and repeat.</p>

<p>So, why am I not using WebWork?  It's not mavenized.  Too many dependencies that don't currently exist in the ibiblio maven repository.  So, what would get me using WebWork?  If someone would either Mavenize WebWork, or at least point me to a tarball that I could use to easily get all WebWork-based jars into the ibiblio repository with the correct structure.</p>

<p>Bottom line: if it's hard to use in a mavenized project, I won't use it.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-14T14:12:28+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000334_topic_maps.html">
<title>Topic Maps</title>
<link>http://blogs.codehaus.org/people/bob/archives/000334_topic_maps.html</link>
<description><![CDATA[<p>xml.com is running an article <a href="http://www.xml.com/pub/a/2002/09/11/topicmaps.html">What Are Topic Maps?</a>  I'm only now getting into the Semantic Web, RDF and other meta-data types of things with XML and this article seems very well-written.</p>

<blockquote>Many years ago, I started looking into SGML and XML as a way to make information more manageable and findable, which was something I had been working on for a long time. It took me several years to discover that, although SGML and XML helped, they did not actually solve the problem. Later I discovered topic maps, and it seemed to me that here was the missing piece that would make it possible to really find what you were looking for. This article is about why I still think so.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-12T11:27:26+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000333_rerun_jsr94_comments.html">
<title>Rerun: JSR-94 Comments</title>
<link>http://blogs.codehaus.org/people/bob/archives/000333_rerun_jsr94_comments.html</link>
<description><![CDATA[<p>Just reblogging my own <a href="http://drools.org/jsr94-comments.html">JSR-94 Comments</a> since the comment period ends tomorrow.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-10T13:38:52+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000332_the_aussies_again.html">
<title>The Aussies, again</title>
<link>http://blogs.codehaus.org/people/bob/archives/000332_the_aussies_again.html</link>
<description><![CDATA[<p><a href="http://www.smh.com.au/articles/2002/09/06/1031115931961.html">Tridgell gets AUUG special achievement award</a> which also mentions Peter Miller (of <i>Recursive Make Considered Harmful</i> fame).</p>

<p>The Aussies are certainly taking over.  Maybe it's time to move south.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-08T14:57:01+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000331_ibm_and_the_grid.html">
<title>IBM and The Grid</title>
<link>http://blogs.codehaus.org/people/bob/archives/000331_ibm_and_the_grid.html</link>
<description><![CDATA[<p>You might think it's fluff, but <a href="http://www.javaworld.com/javaworld/jw-09-2002/jw-0906-grid.html?">IBM's grid conversion</a> talks about IBM's view of The Grid.</p>

<p>I think p2p and grids will certainly take off sometime soon.  I was even working on a grid project, which is why I created <a href="http://beep4j.org/">beep4j</a> to use as an internode protocol layer.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-08T13:12:22+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000330_shortest_path_to_a_semaphore.html">
<title>Shortest Path To A Semaphore</title>
<link>http://blogs.codehaus.org/people/bob/archives/000330_shortest_path_to_a_semaphore.html</link>
<description><![CDATA[<p><a href="http://www.sdtimes.com/news/061/story4.htm">Edsger Dijkstra</a> has just decremented his last  semaphore.</p>

<p>So much of what we do is because of Dijkstra's great ideas.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-08T13:07:56+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000329_business_process_automation.html">
<title>Business Process Automation</title>
<link>http://blogs.codehaus.org/people/bob/archives/000329_business_process_automation.html</link>
<description><![CDATA[<p>Duncan Child sent me a link to <a href="http://www.javaworld.com/javaworld/jw-09-2002/jw-0906-process_p.html">Business process automation made easy with Java, Part 1</a>.</p>

<blockquote>These days, severe market demands drive enterprises to reduce costs and increase shareholder value. In such an environment, businesses can realize significant cost reductions and efficiencies by automating business process flows, eliminating nonvalue-adding human interventions, and allowing enterprise applications to communicate and intelligently and seamlessly share information. In this two-part series, we present the technology building blocks for automating an enterprise, how those blocks fit within an enterprise component architecture such as J2EE, and how you can design and build a business rule engine solution based on this architecture.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-08T12:02:56+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000328_from_wither_came_the_aussies.html">
<title>From Wither Came The Aussies?</title>
<link>http://blogs.codehaus.org/people/bob/archives/000328_from_wither_came_the_aussies.html</link>
<description><![CDATA[<p>Here recently, every time I turn around I trip across another cool project from some Australians.  There's the Atlassian folks and the guys who produce Clover, and Greg &amp; the Jetty team, just to name a few.</p>

<p>Is this a new occurence?  Or have I previously been amerikacentric and just in denial of things coming from the southern hemisphere?  Did .au universities recently start producing more and better engineers?</p>

<p>What gives?  Regardless, it's a Good Thing.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-07T14:04:59+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000327_rich_webbased_xml_editing.html">
<title>Rich Web-based XML Editing</title>
<link>http://blogs.codehaus.org/people/bob/archives/000327_rich_webbased_xml_editing.html</link>
<description><![CDATA[<p>James Strachan pointed me towards <a href="http://xopus.org/index.jsp">Xopus.org</a>, which is browser-based rich XML text editor.  That's just cool.</p>

<blockquote>Xopus is a browser based in-place wysiwyg XML editor. Xopus allows users to edit their XML data in an intuitive word processor alike way.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-04T10:07:53+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000326_jsr94_im_grumpy.html">
<title>JSR-94 (I&apos;m grumpy)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000326_jsr94_im_grumpy.html</link>
<description><![CDATA[<p>It's public-review time for JSR-94 and here are my <a href="http://drools.org/jsr94-comments.html">JSR-94 comments</a>.</p>

<p>I spent a few hours today trying to make <a href="http://drools.org/">drools</a> compliant and it wasn't a happy experience.</p>

<p>I'm hoping the JSR expert group is truly taking public-review comments serious and won't just push what they have through the finish line.   JSR-94 is in several places under-defined while in others it seems to place too many constraints and burdens upon implementors.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-04T00:45:05+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000325_jaxen_and_exml.html">
<title>Jaxen and EXML</title>
<link>http://blogs.codehaus.org/people/bob/archives/000325_jaxen_and_exml.html</link>
<description><![CDATA[<p><a href="http://www.themindelectric.com/exml/index.html">EXML 6.0</a> now includes seamless integration with <a href="http://jaxen.org/">jaxen</a>, the multi-model XPath engine project I founded a while ago.  </p>

<p>If you're not already using jaxen for your Java and XPath needs, you probably should.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-03T02:44:47+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000324_my_wonderful_wife.html">
<title>My Wonderful Wife</title>
<link>http://blogs.codehaus.org/people/bob/archives/000324_my_wonderful_wife.html</link>
<description><![CDATA[<p>Well, Rebecca's insanity has now lasted a tad over two years.  We celebrated our 2nd wedding anniversary by visiting recently-relocated friends in Pennsylvania, which is positively beautiful.  </p>

<p>But of course, not nearly as lovely as my wife.</p>

<p><center><br />
<img alt="rebecca_garage.jpg" src="http://blogs.werken.com/people/bob/pix/rebecca_garage.jpg" width="200" height="268" border="0" /><br />
</center></p>]]></description>
<dc:subject>Home</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-09-03T02:29:48+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000323_drools_20beta6_released.html">
<title>drools 2.0-beta-6 released</title>
<link>http://blogs.codehaus.org/people/bob/archives/000323_drools_20beta6_released.html</link>
<description><![CDATA[<p><a href="http://lists.werken.com/pipermail/drools-interest/2002q3/000133.html">Read the announcement</a>.</p>

<blockquote>drools 2.0-beta-6 has been released. Pick up the flavor of distribution that you like from: 

<p>    <a href="http://drools.org/releases.html">http://drools.org/releases.html </a></p>

<p>Major points:<br />
    Removed dependency on JDRing. <br />
    Created Python Semantic Module (using jython). <br />
    Fixed several show-stopper Rete-OO bugs.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-29T11:04:04+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000322_different_persistence.html">
<title>Different Persistence</title>
<link>http://blogs.codehaus.org/people/bob/archives/000322_different_persistence.html</link>
<description><![CDATA[<p><a href="http://www-106.ibm.com/developerworks/web/library/wa-objprev/?loc=dwmain">An introduction to object prevalence</a>.</p>

<blockquote><b>Why persistence as you know it is bad</b>
Today, data persistence for object-oriented systems is an incredibly cumbersome task to deal with when building many kinds of applications. The developer must map objects to database tables, XML files or use some other non-OO way to represent data, destroying encapsulation completely. One solution to this problem is object prevalence.

<p><b>The Prevalent way</b><br />
Object prevalence is a concept that was developed by Klaus Wuestefeld and some colleagues at Objective Solutions. Its first implementation, known as Prevayler, became available in November 2001 as an open-source project. (See Resources.) Today, Prevayler is at version 1.3.0 and has about 350 lines of code. You may think that the code is too small to do anything useful but, based upon my experience on a recent porject, I can confirm that Prevayler is several orers of magnitude faster than one of the leading open source relational databases. It is all about simplicity.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-28T23:38:19+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000321_java_wikiblog.html">
<title>Java WikiBlog</title>
<link>http://blogs.codehaus.org/people/bob/archives/000321_java_wikiblog.html</link>
<description><![CDATA[<p>Dave Cramer told me about <a href="http://snipsnap.org/space/SnipSnap">SnipSnap</a>.  It's Java.  It's a Wiki.  It's a Blog.  All are Good Things.</p>

<blockquote>A personal content management system and WikiLog. It's easy to install and has a powerful text formatting system. See install to run it yourself. This software will primary serve our needs.</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-28T23:02:45+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000320_dogs_tech.html">
<title>Dogs &amp; Tech</title>
<link>http://blogs.codehaus.org/people/bob/archives/000320_dogs_tech.html</link>
<description><![CDATA[<p>Yes, we have a dog now.  We have exactly one dog to accompany our five cats, thus, she's been named <b>Only</b>.</p>

<p><center><br />
<img alt="only.jpg" src="http://blogs.werken.com/people/bob/archives/only.jpg/only.jpg" width="250" height="352" border="0" /><br />
</center></p>

<p>Technology:  bought a little USB nugget to read Flashcards since Rebecca doesn't like sharing her Mac. Darn simple to just plug it in, reboot and mount the flashcard.  Hence, the photo of the dog.</p>

<p>Who says linux isn't easy to use.  I don't even claim to have much sysadmin knowledge.  Just ask my sysadmin.</p>]]></description>
<dc:subject>Home</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-28T17:08:29+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000319_drools_snakes_can_drool.html">
<title>[drools] Snakes can drool</title>
<link>http://blogs.codehaus.org/people/bob/archives/000319_drools_snakes_can_drool.html</link>
<description><![CDATA[<p><a href="http://drools.org/apidocs/org/drools/semantics/python/package-summary.html">drools 2.0-beta-6-dev API: Package org.drools.semantics.python</a></p>

<blockquote>Package org.drools.semantics.python

<p>Python Semantic Module.<br />
</blockquote><br />
Ayup.  drools does python, now.</p>

<p>Figured since Mike got a kick out my blogging a bug in my Jira that he might enjoy one that points to Javadocs.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-28T14:39:46+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000318_drools_test_coverage.html">
<title>[drools] test coverage</title>
<link>http://blogs.codehaus.org/people/bob/archives/000318_drools_test_coverage.html</link>
<description><![CDATA[<p><a href="http://drools.org/clover/index.html">drools test coverage</a> information is now available.  Only about 28% tested, overall.  But at least I can now visualize the weak parts.</p>

<p>Have you run clover on <i>your</i> codebase lately?</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-28T03:23:52+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000317_1000_of_beer.html">
<title>$1,000 of Beer</title>
<link>http://blogs.codehaus.org/people/bob/archives/000317_1000_of_beer.html</link>
<description><![CDATA[<p>It arrived in my inbox.</p>

<blockquote> The note is titled "Stock (Tymeless, Aug 24 00:37)"
 
 If you had bought $1000.00 worth of Nortel stock one year ago, it would now be worth $49.00. If you had bought $1000.00 worth of beer one year ago, drank all the beer, then traded in the cans at a redemption center for the nickel deposit, you would have $107.00. 

<p>Given the current conditions of the economy, my advice is to drink heavily and recycle.</p>

<p>Something to think about.</blockquote></p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-27T21:30:56+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000316_scrum_xp_without_the_insanity.html">
<title>Scrum: XP Without The Insanity</title>
<link>http://blogs.codehaus.org/people/bob/archives/000316_scrum_xp_without_the_insanity.html</link>
<description><![CDATA[<p>Talking to Jason van Zyl, of maven fame, and discovered that not everyone konws about <a href="http://www.controlchaos.com/Scrumo.htm">Scrum</a>.</p>

<p>Extreme Programming (XP) frightens many people, myself included.  It seems a tad... hackish.  Scrum, though, is another agile methodology that seems to have a little bit less insanity and more planning/thought behind it.</p>

<blockquote>Scrum naturally focuses an entire organization on building successful products. Without major changes -often within thirty days - teams are building useful, demonstrable product functionality. Scrum can be implemented at the beginning of a project or in the middle of a project or product development effort that is in trouble.

<p>Scrum is a set of interrelated practices and rules that optimize the development environment, reduce organizational overhead, and closely synchronize market requirements with iterative prototyes. Based in modern process control theory, Scrum causes the best possible software to be constructed given the available resources, acceptable quality, and required release dates. Useful product functionality is delivered every thirty days as requirements, architecture, and design emerge, even when using unstable technologies.</blockquote></p>

<p>I know this is a religious war to you agile zealots out there, but I say that Scrum is the best, so it must be true.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-27T14:30:46+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000315_good_music_at_079.html">
<title>Good Music at $0.79</title>
<link>http://blogs.codehaus.org/people/bob/archives/000315_good_music_at_079.html</link>
<description><![CDATA[<p><a href="http://www.mordamrecords.com/partners/DIONYSUS/detail.php3?item=4102&returnto=%2Fpartners%2FDIONYSUS%2Fcatalog.php3%3Fskip%3D90">Stereophonic Space Sound Unlimited - The Fluid Soundbox</a> is a great CD I owned a while ago.  Today, I repurchased it since my CD-organizationl skills are next-to-nil, and I'd lost my original copy.  Anyhow, it thinks it's a soundtrack to a 60's spy movie.  There was no movie.  It isn't a soundtrack. But it has that surfabilly/mission-impossible sound to it.</p>

<p>Anyhow, in searching for a page to blog, I came across the above link and was surpised to learn I could buy each song on the CD, over the internet, for 79 cents apiece.  Too bad its RealAudio and not Ogg Vorbis or even MP3.  Oh well.</p>

<p>Cool thought, though.</p>]]></description>
<dc:subject>Opinion</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-27T01:11:40+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000314_effecient_jython_embedding.html">
<title>Effecient Jython Embedding</title>
<link>http://blogs.codehaus.org/people/bob/archives/000314_effecient_jython_embedding.html</link>
<description><![CDATA[<p><a href="http://www.geocrawler.com/archives/3/7017/2001/2/0/5147027/">Geocrawler.com - jython-users - [Jython-users] Advanced Jython embedding</a> is a message that describes embedding jython efficiently.  The jython.org docs aren't all that great, so I'm just bookmarking this for myself as I hack drools+jython.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-26T13:33:26+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000313_drools_jellyconsequence_tag.html">
<title><![CDATA[[drools] &lt;jelly:consequence&gt; tag]]></title>
<link>http://blogs.codehaus.org/people/bob/archives/000313_drools_jellyconsequence_tag.html</link>
<description><![CDATA[<p><a href="http://jira.werken.com/secure/ViewIssue.jspa?key=DROOLS-19">[#DROOLS-19] Jelly Semantics &lt;consequence&gt; tag</a> indicates that drools now supports a &lt;jelly:consequence&gt; tag so that the consequence of a rule can be any arbitrary jellyscript.</p>

<p>An example exists (the sisters example) that mixes the Java semantic module for object-types and conditions, while using the jelly semantic module for the consequence of a rule match.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-25T18:37:46+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000312_latex_and_pdf.html">
<title>LaTeX and PDF...</title>
<link>http://blogs.codehaus.org/people/bob/archives/000312_latex_and_pdf.html</link>
<description><![CDATA[<p>The <a href="http://www.math.uakron.edu/~dpstory/acrotex.html">AcroTeX website</a> is a pretty nice resource for folks wanting to do advanced PDF generation with (La)TeX.  I'm a big fan of using LaTeX for documentation.  I attempted to use DocBook way back when, but was unimpressed with the output produced by FOP.  Using the dsssl stylesheets and jade produces beautiful output, but I decided that if I need to have TeX installed, I might as well use it natively.  XML is not a fun way to mark up technical documentation.</p>

<p>Try this:  write lots of docs in plaintext.  Convert to PDF.  Would you rather insert the occasional \section{...} tag, or worry about balancing pairs of XML tags, marking each and every paragraph, etc?</p>

<p>LaTeX rocks.  PDF rocks.  There ya go.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-25T01:28:54+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000311_state_and_taskbased_workflow.html">
<title>State- and Task-based Workflow</title>
<link>http://blogs.codehaus.org/people/bob/archives/000311_state_and_taskbased_workflow.html</link>
<description><![CDATA[<p>The <a href="http://www.vivtek.com/wftk/doc/background.html">wftk: Background</a> page has the author of Wftk's thoughts about state-based versus task-based workflow.</p>

<blockquote>One of the basic problems that I have had while coming to terms with workflow systems is simply that there are two basic approaches to workflow. In the first, which was more strongly supported by early wftk prototypes, a process, once activated, then activates various tasks which must be done (this may include loops, decisions, and so forth, but the basic item here is the task.) Meanwhile, a lot of the material I was reading about workflow was firmly based in a transition-diagram model, where the process may be in a certain state, and the state of the process determined what various people might do. This dichotomy caused me a lot of grief before I realized that I was missing a point: state-based and task-based processes are simply different aspects of the same thing.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-24T18:48:03+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000310_junit.html">
<title>JUnit</title>
<link>http://blogs.codehaus.org/people/bob/archives/000310_junit.html</link>
<description><![CDATA[<p><a href="http://www.junit.org/news/index.htm#3.8_Release">JUnit 3.8 Released</a></p>

<blockquote>The theme of this release is easier access, see the README for details.
</blockquote>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-24T02:11:09+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000309_xpath_tips.html">
<title>XPath tips</title>
<link>http://blogs.codehaus.org/people/bob/archives/000309_xpath_tips.html</link>
<description><![CDATA[<p><a href="http://www.xml.com/pub/a/2002/08/14/xpath_tips.html">XML.com: Top Ten Tips to Using XPath and XPointer</a><br />
<blockquote>XPath and XPointer allow XML developers and document authors to find and manipulate specific needles of content in an XML document's haystack. From mindful use of predicates, to processor efficiency, to exploring both the standards themselves and extensions to them, this article offers ten tips -- techniques and gotchas -- to bear in mind as you use XPath and XPointer in your own work.<br />
</blockquote></p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-23T20:43:02+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000308_drools_20beta5_released.html">
<title>drools 2.0-beta-5 released</title>
<link>http://blogs.codehaus.org/people/bob/archives/000308_drools_20beta5_released.html</link>
<description><![CDATA[<p><a href="http://drools.org/releases.html">drools-2.0-beta-5</a> has now been released.</p>

<p>It includes a massive refactoring and reorganization effort, along with bundles of new tests.  A robust XML rule-language based upon Jelly is now consistent across all semantic modules.</p>

<p>Here's the <a href="http://lists.werken.com/pipermail/drools-interest/2002q3/000096.html">full announcement</a>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-23T14:39:56+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000307_automatic_investment_managmenet.html">
<title>Automatic Investment Managmenet</title>
<link>http://blogs.codehaus.org/people/bob/archives/000307_automatic_investment_managmenet.html</link>
<description><![CDATA[<p><a href="http://thinkalong.com/Thinkalong/learning.html">AIM</a> is described by Jack Park at ThinkAlong seems cool.  I see rules rules rules.</p>

<p>(Yes, it's been a heavy drools week for me.)</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-22T15:28:17+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000306_graph_structures_in_xml_gsix.html">
<title>Graph Structures in XML (GSIX)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000306_graph_structures_in_xml_gsix.html</link>
<description><![CDATA[<p>So, XML-DEV discussion header towards talking about tuples and graphs, I mentioned <a href="http://drools.org/">drools</a> has to deal with the issues.  One thing led to another, and now I'm aware of <a href="http://www.concept67.fsnet.co.uk/gsix/">GSIX</a> thanks to Peter Jones.</p>

<p>GSIX seems to encompass a lot of cool ideas.  I'm definitely going to investigate it more.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-22T15:06:33+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000305_icons.html">
<title>Icons!</title>
<link>http://blogs.codehaus.org/people/bob/archives/000305_icons.html</link>
<description><![CDATA[<p><a href="http://www.iconfactory.com/ware.asp">The Iconfactory: Your Quality Freeware Icons Hub</a> seems to have a garantuan collection of high-quality, free icons.</p>

<p>Open-source graphics is cool.  Especially when it's something as cool as this and not just bad scans of out-of-copyright turn-of-the-century clip-art collections.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-22T00:44:28+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000304_music_for_coding.html">
<title>Music for Coding</title>
<link>http://blogs.codehaus.org/people/bob/archives/000304_music_for_coding.html</link>
<description><![CDATA[<p>Just noting that <a href="http://www.phish.com/print/news_print.html">phish</a> is excellent music to code to.  Especially the new live series they are releasing quarterly.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-19T11:15:25+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000303_jnlp_via_ant_and_thus_maven.html">
<title>JNLP via Ant (and thus, Maven?)</title>
<link>http://blogs.codehaus.org/people/bob/archives/000303_jnlp_via_ant_and_thus_maven.html</link>
<description><![CDATA[<p>Just tripped across <a href="http://vamphq.com/ant.html">Venus Application Publisher's Ant Task Suite</a>.  I've started getting interested in JNLP after I noticed mike@atlassian using it.</p>

<p>Will probably make a Maven plugin for it.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-14T19:49:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000302_workflow.html">
<title>Workflow</title>
<link>http://blogs.codehaus.org/people/bob/archives/000302_workflow.html</link>
<description><![CDATA[<p>Patrick Lightbody, of OSWorkflow, and I had a nice <a href="http://irc.werken.com/channels/werkflow/8-14-02.html">chat</a> about workflow and our two projects.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-14T17:05:13+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000301_code_generation.html">
<title>Code Generation</title>
<link>http://blogs.codehaus.org/people/bob/archives/000301_code_generation.html</link>
<description><![CDATA[<p>I keep tripping across random projects touting <i>code generation</i> as a nice feature, and I'm not certain I quite share their enthusiasm.</p>

<p>I think code generation as a process of turning the abstract into the concrete is a Good Thing.  For example, <a href="http://antlr.org/">ANTLR</a> allows you to specify a language grammar is an abstract form and then make it concrete as Java, C++ or Sather (Sather?!)  code.  I definitely support code-generation as used by ANTLR and other similar device.</p>

<p>The other extreme of code generation seems to target wrapping and adapting.  For example, some projects enable you to generate code to make your JavaBean a web-service.Somewhere in the middle resides mapping generators.  Object-relational mapping layers map an Object to a relational database.  <br />
One could argue that wrapping is a form of mapping.  You are conceivably mapping Java linking constructs to XML-over-port-80 semantics when you wrap a JavaBean as a web-service.</p>

<p>Most of the wrapping and mapping cases seem to use code generation as an efficiency mechanism.  Compiled Java runs faster than interpreted code.   Projects exist that allow you to provide a web-service face to a javabean <i>without</i> code generation by using introspection and run-time interpreters.</p>

<p>Code generation has many downsides, in my opinion.  In many languages, loading new code into a running process is less than fun.  Also, a developer weilding a compiler must be in the loop to still do something useful with the generated code.</p>

<p>Dynamic and interpreted systems allow easier customization and modification to a running system.  Of course, the cost is extra CPU cycles.  With code-generation though, the cost is typically developer hours.  A trade-off must be made, and I personally will always favor a dynamic solution that reduces developer idle time (waiting for generation and compilation).</p>

<p>Even better, of course, is run-time bytecode modification and instrumentation.  But that's a topic for another day.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-14T15:53:41+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000300_thin_is_cool_apparently.html">
<title>Thin is Cool, apparently</title>
<link>http://blogs.codehaus.org/people/bob/archives/000300_thin_is_cool_apparently.html</link>
<description><![CDATA[<p>Well, not long after mentioning Thinlet, <a href="http://radio.weblogs.com/0107789/">Mike</a> came up with <a href="http://radio.weblogs.com/0107789/stories/2002/08/14/thinrss.html">ThinRSS</a>.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-14T01:04:23+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000299_java_rules_engine_api.html">
<title>Java Rules Engine API</title>
<link>http://blogs.codehaus.org/people/bob/archives/000299_java_rules_engine_api.html</link>
<description><![CDATA[<p>JSR-94, the <a href="http://jcp.org/aboutJava/communityprocess/review/jsr094/">Java Rule Engine API</a> has entered public review and will remain available until 11 September 2002.</p>

<p>My own <a href="http://drools.org/">drools</a> project will be implementing JSR-94 sometime soon.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-13T20:27:16+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000298_maven_10beta5_released.html">
<title>Maven 1.0-beta-5 released</title>
<link>http://blogs.codehaus.org/people/bob/archives/000298_maven_10beta5_released.html</link>
<description><![CDATA[<p><a href="http://jakarta.apache.org/turbine/maven/">Maven</a> the coolio build-system has released 1.0-beta-5 which solidifies the new Jelly-based core.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-13T20:04:34+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000297_thin_java_gui.html">
<title>Thin Java GUI</title>
<link>http://blogs.codehaus.org/people/bob/archives/000297_thin_java_gui.html</link>
<description><![CDATA[<p>Tripped across <a href="http://www.thinlet.com/">Thinlet</a> a super-thin xml-based UI layer for java.  Definitely usable in applets or JNLP types of applications.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-08-13T20:00:35+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000296_jira_rocks.html">
<title>Jira Rocks</title>
<link>http://blogs.codehaus.org/people/bob/archives/000296_jira_rocks.html</link>
<description><![CDATA[<p>Mike Cannon-Brookes, the guru behind <a href="http://www.atlassian.com/">Atlassian</a> has given us a license for Jira for our open-source projects.</p>

<p>Check out the <a href="http://jira.werken.com/">Jira server</a> now and go right ahead and signup and add bugs, issues and features.</p>

<p>Thanks Mike!</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-07-14T10:18:51+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000295_cool_software.html">
<title>Cool Software</title>
<link>http://blogs.codehaus.org/people/bob/archives/000295_cool_software.html</link>
<description><![CDATA[<p>I've just got to say, I've been completely blown away by <a href="http://www.movabletype.org/">MovableType</a>, the blog software that drives a lot of Werkenland.  It's so clean, intuitive and fun to use.  I do have a few complains, with regards to setting up a large number of blogs.  I'm not much of a Perl hacker so there may be some perl interface to configure new blogs hiding somewhere that I haven't looked, yet. </p>

<p>Jira, from <a href="http://atlassian.com/">Atlassian</a> also looks pretty cool, and they have free licenses for open-source software.  I know the winds seem to be blowing towards Scarab, but I think I'm going to give Jira a shot.  Sure, it's not free for commercial use, but people have to make a dollar every now and again, ya know.</p>]]></description>
<dc:subject>Software Engineering</dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-07-14T01:21:48+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000294_werken_infrastructure.html">
<title>Werken Infrastructure</title>
<link>http://blogs.codehaus.org/people/bob/archives/000294_werken_infrastructure.html</link>
<description><![CDATA[<p>Well, you've all probably noticed the increased movement within the werken.com domain.</p>

<p>I've decided to take <a href="http://www.werken.com/">The Werken Company</a> in a new direction, emphasizing non-commodity engagements.  We've amassed a fair number of open-source projects that are being fairly widely used.  Hopefully some of our users will come out and have us help them with their problems, or fund us to develop more open-source projects.</p>

<p>Part of this direction includes having more of a public identity and participating much more visibly in both the open-source and general software-engineering communities.</p>

<p>To this end, we're migrating all of our projects back to our own infrastructure, and increasing the tools available.</p>

<p>For example, each project will soon be getting its own blog, for tracking the status in a more informal way than CVS changelogs, and more visible than mailling lists.</p>

<p>So, now we have the following:</p>

<ul>
  <li>CVS server</li>
  <li>blog (MovableType) server</li>
  <li>lists (mailman) server</li>
  <li>web</li>
</ul>

<p>Soon we'll have Jira setup for issue-tracking for the projects.  Might find a nice Wiki, but I think that's of a lower priority.</p>

<p>Additionally, we're donating usage of our cluster to the <a href="http://jakarta.apache.com/turbine/maven/">Jakarta Maven</a> project for their <i>global project reactor</i>.</p>

<p>Anyhow, that's how I'm spending my days.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-07-10T23:35:55+00:00</dc:date>
</item>
<item rdf:about="http://blogs.codehaus.org/people/bob/archives/000293_werkflow.html">
<title>Werkflow</title>
<link>http://blogs.codehaus.org/people/bob/archives/000293_werkflow.html</link>
<description><![CDATA[<p>As noted on <a href="http://hard.werken.com/">Hard Werken</a>, I've started work on a new workflow engine, called werkflow.</p>

<p>Come, check it out.  It promises to be lots of fun.</p>]]></description>
<dc:subject></dc:subject>
<dc:creator>bob</dc:creator>
<dc:date>2002-07-10T23:33:38+00:00</dc:date>
</item>


</rdf:RDF>
