mr_bean's Journal mr_bean's use Perl Journal en-us use Perl; is Copyright 1998-2006, Chris Nandor. Stories, comments, journals, and other submissions posted on use Perl; are Copyright their respective owners. 2012-01-25T02:26:16+00:00 pudge Technology hourly 1 1970-01-01T00:00+00:00 mr_bean's Journal marriage of perl &amp; XP <p>gugod mentioned <a href=""></a> at <a href=""></a>, his platform for experimentation with ideas about messaging.</p><p>The book substitutes the core value of courage for the apparently 4th original core one of quality. The first core value is communication. I can't remember what the other 2 core values are, suggesting they are not core values, at least as far as I'm concerned.</p><p>I think the courage one is very interesting, because it is probably like laziness, impatience and hubris, something to be played with, rather than an ideal to be observed religiously.</p><p>'Discretion is the better part of valor', and Robert Nagler, the author, talks about how you have to play with the risks involved developing software, a very risky endeavor.</p><p>Perhaps communication is something that is a relative virtue too, ie something that you should or should not have to do all the time, the way it is in business negotiations. I wonder what those other 2 core virtues were.</p><p>He says: 'XP is the organizer in the Extreme Perl marriage that compliments Perl, the doer and fixer. XP's role is to keep Perl from fixing the car when the kids need to be put to bed'.</p><p>We can see who wears the pants in that marriage, which suggests why the book hasn't appeared on my perl radar screen before.</p><p>An interesting thing about XP he says is that the customer must speak with one voice, at the same time as he says that the customer may not know what it wants. Which seems to make impossible demands of the customer.</p><p>Despite that, it is the model of rationality and reflective action, when compared to education, where teachers are trying to develop learning in their customers' minds.</p><p>And despite that caveat about rationality, XP does seem a very dialectical approach. That is, it doesn't make sense by itself, but only as part of a thesis-antithesis-synthesis dance with the waterfall model, which is also a model of rationality and reflective action.</p> mr_bean 2008-07-08T21:59:43+00:00 journal Dan Kogai on education <p>Something from Dan Kogai's blog a couple of years ago at I thought I should not just delete from my hard drive.</p><p>From the school of subjects, to the school of experience</p><p>Now also the fact that I wasn't the loser was because I early on realized this:</p><p> &nbsp; &nbsp; For them, education doesn't work. The reason is<br> &nbsp; &nbsp; teachers are people who have left school only to<br> &nbsp; &nbsp; enter it, and don't know anything about the<br> &nbsp; &nbsp; world outside. They are dinosaurs, who don't<br> &nbsp; &nbsp; know that marketing, productivity, and<br> &nbsp; &nbsp; management result in innovation. School is like<br> &nbsp; &nbsp; a factory run by dinosaurs to reproduce<br> &nbsp; &nbsp; dinosaurs.<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; --another Japanese blogger</p><p>But it is also a fact that school is a Difference Amelioration Device (DAD).</p><p>What made the advanced countries--all of them--advanced was the invention and the implementation of a route to education independent of family. "Not following in the footsteps of one's family is sometimes a good thing." It made possible a more appropriate sharing of wealth for individuals and increased the earning power of everyone overall. It made it possible for even people on lower salaries in advanced countries to enjoy luxuries that were impossible for royalty in the past.</p><p>The loss of the impression that mobile phones and annual overseas vacations are a luxury is the result of a comparison with one's surroundings.</p><p>=cut</p> mr_bean 2008-03-06T09:47:52+00:00 journal Simon Cozens at frameworks meet An exception to the rule, 'Once you hack, you never look back,' <a href="">Simon Cozens</a> withdrew from prominence in the perl community to become a missionary in Japan. His transformation from programmer to missionary has always been an enigma to me, because computing is my religion. <br> <br> My transformation has been in an opposite direction from English teacher to disciple of, devotee of, lover of perl. <br> <br> Bram Moolenaar said he'd like to know what the man who invented sex is working on now. I'm convinced he/she/it (us/you/them?) is working on computers, and specifically on computer languages. <br> <br> Seymour Papert had something similarly startling to say in The Children's Machine, arguing the computer is made for kids. Something like programming is the greatest thing since sliced bread. No, that's right, programming is the greatest thing since reading and writing. <br> <br> As a language learner and language teacher, my experience has been that the LADs (Language Acquisition Devices) and to a lesser extent the LASSes (Language Acquisition Support Systems) don't 'talk back.' If there is anything we learn from the study of language learning, it is that language learners learn more than we learn. <br> <br> But the computer does 'talk back.' You can learn a lot from your end of the conversation, if you can hold up the computer's end, too. <br> <br> I think this is probably because natural language is hard-wired in. Programming a computer is not. It's more like having intellectual sex. The tension and release are more intense and more in the forefront of consciousness. <br> <br> In natural language, with a 'soft machine,' you can never determine the cause of failure, and if the failures are only ever soft, the successes are soft too. <br> <br> This excitement at being able to understand what I am doing and what is happening to me is what has led to me transfering my affections from natural language to programming. <br> <br> But how does Simon Cozens actually stand with perl? I was excited to get the chance to hear him at the January <a href="">frameworks meeting</a>, where he presented on Maypole. <br> <br> Right at the start, as way of introduction, he said he was in Japan as a missionary, but then proceeded to give the <a href="">talk</a> about Maypole principles. What most impressed me, however, was his Japanese. To me, it sounded like he was a near-native-speaker, meaning I couldn't tell the difference between his Japanese and that of the Japanese presenters. He must be the best Japanese-speaking perl programmer, excluding Kogai Dan, Miyagawa Tatsuhiko, and all the other Japanese perl programmers. <br> <br> He said this was the first time he had given a presentation like this in Japanese. He must have been reading Japanese programming material or talking to Japanese programmers, because although it wasn't a detailed technical discussion, he didn't seem to stumble on any of the terminology he was using. <br> <br> As an example of the ease of writing Maypole applications, he talked about a Japanese beer database, and a library circulation system for his and others' books that he had been working on in the last 2 weeks. <br> <br> He told me that it's all hands-off for him now, maintaining Maypole. I wonder about the relationship of the work on the beer and library applications to the presentation. <br> <br> At the end of the meeting, it looked like it was only at his instigation that the organizers mentioned YAPC::Asia in Tokyo in May. Perhaps he is going to turn up for that. <br> <br> In any case, what appeared to be a shiny big Mac laptop he did the presentation on suggests he still sees himself as involved in programming. It appears that he has not stopped using perl. And that he is still programming. <br> <br> The SAME THING, the SAME THING that makes a preacher lay his bible down. --Muddy Waters <br> <br> PS Two lightweight Made-in-Japan web frameworks presented at the meeting, both on CPAN, <a href="">Tripletail</a> and <a href="">Waft</a>. mr_bean 2008-02-24T04:58:54+00:00 journal know your camel (and cameleopard) CLKAO had a picture of a camel and giraffe in his slides for his introduction to svk, but I can't find that now. Here are some other similar pictures off <a href=""></a> and <a href=""></a>. These confirm that the animals are similar. But the contrast is striking. <br> There was apparently a giraffe-like camel. <a href=";search=usa">Aepycamelus, a Miocene camel</a> <br> Bewick's woodcut of the giraffe also gives it a very camel-like face. <br> Continuing my discussion of Wikipedia articles on the moose and other animals commenting on <a href=";cid=60154">MooseX</a>, the article on <a href="">the giraffe</a> talks about the fact its forelegs are 10 percent longer than hindlegs and its gait at low speeds and high speeds. <br> This led me on to the entry on <a href="">horse gaits</a>, which will tell you more about the subject than you ever wanted to know. <br> Child to Pear's Children's Encyclopedia editor: Your encyclopedia told me more about penguins than I cared to know. <br> But apparently the gait of giraffes at slow speed, pacing, moving both the legs on the left side together and then those on the right side together, is not a natural gait for horses. Their working gait is the trot, in which diagonally opposite legs are moved together. This is a fairly stable gait for the horse, if less so for the rider. <br> But horses can be trained to pace. It is, however very uncomfortable for a rider on top of a pacing horse, rocked from side to side in a rapid rhythm. <br> According to the article, camels also pace naturally, but being taller, their rate of stepping is slower, so 'a rider can follow the rocking motion.' <br> I guess that's where the camel gets its Ship of the Desert name from the rider being rolled out about on top of, more so than on top of a stable horse. <br> I wonder what I could learn from <a href="">what is probably the camel entry</a>? Probably more than I ever wanted to know. mr_bean 2008-01-13T04:47:53+00:00 journal computer languages as communication From the <a href=""> State of the Onion </a><p><nobr> <wbr></nobr></p><div class="quote"><p>... a Text, whether spoken or written, is an act of communication requiring intelligence on both ends <br> <br><nobr> <wbr></nobr>.. and sometimes in the middle too. I don't want to talk to a stupid computer language. I want my computer language to understand the strings I type.</p></div><p> Writing a computer program is like having a conversation with a computer. Not only do you have to keep up your end of the conversation, you have to keep up the computer's end too.</p> mr_bean 2007-12-14T02:57:12+00:00 journal other perl personality in news The most well-known perl hacker (outside the programming world) must be Dan Kogai in Japan. A piece on him in the <a href="">Mainichi Shinbun</a> last week starts: As first shot in a planned series of articles on blogging where we get A-list bloggers to discuss their thoughts and ideas, Dan Kogai, network engineer. Kogai (38), the operator of '404 Blog Not Found', which stands out with its more than a million hits a month, the former CTO of On the Edge, the predecessor of LiveDoor, and in 2005 the recipient of the Alpha Blogger Award, was thrust into the limelight as TV commentator on the occasion of the LiveDoor scandal. "The fact the media has been increasingly contacting me for my views as a blogger (unconnected with the LiveDoor scandal) recently has made me really happy," says Kogai. mr_bean 2007-12-12T01:46:41+00:00 journal know your camel: The camel's nostril's ... a dehydration prevention system according to this Economist article, <a href=";CFID=27442206&amp;CFTOKEN=67076189">;CFID=27442206<nobr>&amp;<wbr></nobr> CFTOKEN=67076189</a> Borrowing from nature, about biomimetic architecture. <br> It says a similar trick to beetles' use of condensation to collect drinking water is used by camels to prevent them losing moisture as they exhale. 'Moisture secreted through the nostrils evaporates as the camel breathes in, cooling the nostrils in the process'. Moisture secreted through the nostrils? That must be what you are covered in if a camel snorts all over you. Ie, mucus.It continues, 'When the camel breathes out, moisture within the air then condenses on the nostrils.' <br> So, it seems in the breathing cycle, there is a change in the contents of the camel's nose, from mucus before breathing in to moisture after breathing out. Does the camel then swallow the moisture? How is it returned to the body. At the same time as this cycle, there is a cooling and warming cycle. <br> Inside the nostril it must be like a soft air conditioner with lots of protuberant flanges to increase exposure to the air. <br> This is an interesting contrast to dogs which breathe through the mouth to cool off. The cooling from evaporation of saliva through latent heat of fusion (?) they use to regulate body temperature. <br> The camel however is using the cooling to collect moisture from its own lungs, not to stay cool. mr_bean 2007-10-13T15:45:33+00:00 journal grammar police check List::Util man page <p>--- List/ 2007-09-26 06:41:03.996285608 +0800<br>+++ List/ 2007-09-26 06:49:42.086523920 +0800<br>@@ -113,10 +113,11 @@</p><p> &nbsp; =head1 DESCRIPTION</p><p>-C contains a selection of subroutines that people have<br>-expressed would be nice to have in the perl core, but the usage would<br>-not really be high enough to warrant the use of a keyword, and the size<br>-so small such that being individual extensions would be wasteful.<br>+C contains a selection of subroutines that<br>+people wanted to put in the perl core, but which are not<br>+really used enough to warrant them having their own keyword,<br>+and which are so small that making them individual<br>+extensions would be wasteful.</p><p> &nbsp; By default C does not export any subroutines. The<br> &nbsp; subroutines defined are<br>@@ -241,8 +242,9 @@</p><p> &nbsp; =head1 SUGGESTED ADDITIONS</p><p>-The following are additions that have been requested, but I have been reluctant<br>-to add due to them being very simple to implement in perl<br>+The following are additions that have been requested, but<br>+which I have been reluctant to add because they are very<br>+simple to implement in perl.</p><p> &nbsp; &nbsp; &nbsp; # One argument is true<br> &nbsp;</p> mr_bean 2007-09-25T23:14:49+00:00 journal Max Planck Institute perl archives at <p>I want to record the address for the best archives of lists like perl5-porters and modules, I think. I'm always forgetting it.</p><p>It's <a href=""></a></p><p>The xray I associated with xray vision, so I thought it's a jokey site, but it appears it's the site of the xray astronomy division of one of the German Max Planck institutes. Academic German URLs don't appear to have a ac. or edu. subdomain.</p><p>The mp of mpe and mpg is Max Planck. I can only remember the e and the g by the fact e comes before g.</p><p>I guess I have to thank German taxpayers for supporting the archiving of perl mailing list messages, something which has only an indirect link with xray astronomy.</p> mr_bean 2007-07-03T00:43:06+00:00 journal software engineering metaphor <p>Here's a guy saying software engineering is not engineering and getting Steve McConnell's disagreement.</p><p><a href=""><nobr>i<wbr></nobr> neering.aspx</a></p><p>If developing software is also engineering, where does it stop? Only if we can say what is and is not engineering, can we say whether programmers are engineers or not.</p><p>Perhaps it is a metaphor. Then the criterion is all in the mind.</p> mr_bean 2007-07-02T03:31:15+00:00 journal quick, cheap, good: pick 2 <p>Here is something provocative I found, provoked by chromatic, at <a href=""></a>, who had been provoked by a #perl6 comment about slow parrot development.</p><p>DeMorganized, 'Quick, cheap, good: pick two' becomes, 'Late, over-budget, no good: pick one.'</p><p>Or, 'We don't need no stinking deadlines.'</p><p>The other point of view is, 'Release early, release often.'</p><p>'Quick, cheap, good: pick two,' can be paraphrased as, 'Slow and steady wins the race.'</p><p>The opposite point of view is, 'By fits and starts, as the hog pisseth,' which I found in a dictionary of Japanese proverbs, where it is given as the English equivalent of 'Usagi no fun,' literally, rabbit droppings.</p> mr_bean 2007-02-21T08:52:47+00:00 journal Module::CoreList needs more publicity <p>I couldn't remember the name of Module::CoreList, the module that tells you in which version modules in core made it into the core. I thought it was CoreVersion, but searching for core and coreversion and version on cpan didn't turn it up.</p><p>[Actually going back, now I find it's between 300-400 of the 1456 modules CPAN search returns for 'core'. But that's too far at the back. I didn't find it, anyway. I was turned off by Lingua::Stem, README.hpux, Chemistry::Atom in the list before it. All good modules, probably, but not at this moment.]</p><p>Googling on 'perl how tell what version core module dual life cpan made' also didn't turn it up.</p><p>I hope this message will make it easier for me when I'm looking for it next time. Easier because either Google finds it, or I remember I posted here about it.</p><p>I asked on freenode's #perl and someone gave me the answer straight away. Buubot there also answers questions of the form 'core:Module::CoreList'</p><p>You can use Module::CoreList this way to find when it made its own way into the core.</p><p>perl -MModule::CoreList -e "print Module::CoreList-&gt;first_release('Module::CoreList')"</p><p>Why do I want to know? I want to know how much I may require a user to install by using certain modules.</p><p>But perhaps there is a more extensive way to answer such questions.</p> mr_bean 2007-01-22T10:26:34+00:00 journal state of onion joke <p>Larry Wall joked in the 10th state of the onion address at</p><p>"In the Scientific American that just came out, there's an article on chess experts, written by an expert, on what makes experts so expert. This expert claims that you can become an expert in just about anything if you study it persistently for ten years or so. So, since this is my tenth State of the Onion, maybe I'm about to become an expert in giving strange talks. One can only hope (not)."</p><p>The August 2006 Scientific American article is at:<br>;<nobr>s<wbr></nobr> c=I100322</p><p>Leaving aside whether Larry Wall is an expert in giving talks or not, I think the message of the article is not that message. Rather, it is that if there is anything we learn after 10 years' studying experts, it is that experts know more than we know.</p><p>Here's the ancient Chinese philosopher, ChuangZi's reaction to the address, which was about raising children and programming languages and balancing competing tensions and irreconcilable desires. ChuangZi was puzzled. He asked, Is this a programmer talking about his family? Or a family man talking about programming?</p><p>A Larry Wall story: Larry Wall leaves the podium, in an altered state of consciousness, asking, "Was I a man dreaming I was a butterfly? Or am I now a butterfly dreaming I am a man?"</p> mr_bean 2006-12-30T08:28:02+00:00 journal editor tags <p>I'm really excited by osfameron's Perl::Tags with vim, because it creates tags as you go. Tags are great for clicking your way round your code. However vim's tags are created statically.</p><p>Perl::Tags creates them dynamically as you jump from one module to another. The problem before it was, You never knew where you were going to go, and it was impossible to create tags for all the things you might be interested in beforehand. So you ended up never using tags outside your own code.</p><p>But with Perl::Tags, you don't have this restriction. It helps me moving back and forth between my garden of relatively well-understood code and the jungle of code outside my garden which I need to subdue.</p><p>You can also write regex to create tags not just for subs, vars and packages, but for anything you can parse. ctags could do this, eg tagging Spiffy fields</p><p>ctags "--regex-perl=/^\s*field '?(\w+)(';| =&gt;<nobr> <wbr></nobr>.*;)$/\1/f,field,class attribute accessor methods/" -R</p><p>But it's nicer to be able to do it as part of a perl module.</p> mr_bean 2006-07-05T02:24:14+00:00 journal takahashi method <p>The TAKAHASHI METHOD seems to be to talk as fast as you can and to rub it in for those who can't understand you by showing slides with only KEYWORDS from the talk as large as you can project them. You can read my lips if you can read LARGE FONTS, so to speak.</p><p>That's a JOKE for second language speakers, who know the importance of having slides for a a talk. In fact the Takahashi method, as well as being a humorous method, seems well suited for LIGHTNING TALKS, where the speaker has come to brain dump but the audience has the brain capacity to absorb more by looking at a poster.</p><p>Takahashi <a href=""></a> sees the characteristics as:<br>a. VISIBLE to the people at the back. Better than for someone to tell you, 'Your presentation was great but only the people at the front could see,' is to hear, 'Your presentation was ordinary, but everyone understood it!' I guess that one doesn't translate so well.<br>b. For the presenter, keywords are POINTERS to appropriate content, helping them determine what their point is at each point in the talk when writing it or delivering it.<br>c. Because there are many slides, one for each couple of sentences perhaps, it makes it EASY-TO-DELIVER by requiring the presenter to decide what to say in a lot of detail before delivering the talk. This makes it good for people who suffer from stage fright.<br>d. Because there is little information on the screen it helps the listeners CONCENTRATE on what is being said, rather than on trying to read the slides.<br>Reading the slides, rather than listening to the presenter, can be the first step in not hearing, or not understanding, something.</p><p>I may have MISCHARACTERIZED what is on the screen by saying just keywords appear. Takahashi seems to include whole noun phrases in his slides. HEADLINE-type sentences is how a Wikipedia entry characterized them, I think.</p> mr_bean 2006-06-19T11:11:40+00:00 journal Takahashi on perl and Ruby <p>Masayoshi Takahashi seems to be another perl humorist.</p><p>Actually, judging from his presentation at YAPC::Asia::2006</p><p></p><p>he is a ruby humorist, rather than a perl one.</p><p>In the slides, he says Ruby, like perl is TIMTOWTDI, but rather than leaving the choices up to the programmer, it encourages one option rather than the other, eg the optional semicolon at the end of lines naturally starts to seem noisy and you are 'forced/encouraged' to omit it.</p><p>On the one hand, you write the way you like, but on the other hand, you are also 'brainwashed' to like the way you can write.</p><p>So perl is for the superhacker who loves options, but ruby is for the ordinary, lazy (but not lazy enough) programmer and it changes the way they think.</p><p>So Ruby is a dangerous language, he concludes. You come to think I am so cool, and this feeling of power is without basis. So he says, don't use it yourself, recommend it to everyone else.</p><p>I guess it is tongue-in-cheek. The Japanese audience laughed a lot.</p><p><nobr>a<wbr></nobr> gevs</p> mr_bean 2006-06-14T15:13:53+00:00 journal loose coupling <p>Steve McConnell in Chapter 5 of Code Complete ( says:</p><p>Coupling describes how tightly a class or routine is related to other classes or routines. The goal is to create classes and routines with small, direct, visible, and flexible relations to other classes and routines, which is known as loose coupling.</p><p>Loose coupling is also a term in management (</p><p>Weick made the practical connection that schools simply did not behave like industrial or commercial enterprises. He acknowledges the writings of Glassman (1973) and March and Olsen (1975). From this area of study arose the concept that there were critical differences between what came to be called HSOs (Human Service Organisations) and profit-centred businesses. One of these differences was that the main business of HSOs, whether hospitals or schools, happened between professionals (doctors, nurses, teachers) and clients (patients or students). This primary business was supported by a backbone of administrative and resource services. Another description of this sort of organisation was presented by Kouzes and Mico (1979) under the heading Domain Theory. The key discovery that these writers (and Weick) both made, was that Administration was not the main source of expertise and decision making, disseminated through a hierarchy of management and workers. Rather, administration and the professionals tended to<br>have different roles, independent authority, low levels of standardisation and even different agendas.</p><p>Loose coupling was the name for the operational links within such a structure. The theory of loose coupling not only explains how HSOs operate with such links, but attempts to explain why they are able to function with what at first glance many seem an inefficient and ineffective structure. Weick asks "what does hold and educational organisation together?" (1976, p4).</p><p>Can the effect that version source control has on the relation between development and a project, freeing the coder from the consequences of test failure, also be regarded as a form of loose coupling?</p> mr_bean 2006-05-12T03:06:43+00:00 journal Taiwan--The Home of Bugs <p>The first question I asked Audrey at was was the new name of pugs Bugs. She said that Larry's Bugs Manifesto <a href=""></a> was an April Fool's Joke.</p><p>What a disappointment!</p><p>Before going any further, here is some material on Taiwanese bugs. I tried looking round for an Internet Taiwan bugarium, but couldn't find one. Here's he National Taiwan University Department of Entomology's collection of Chinese paintings of bugs. <a href=""></a></p><p>I find the Bugs Manifesto moving. I'm not too sure why. It's probably the delivery and the fact I can't understand what Larry is saying.</p><p>In actual fact, he's probably just taking off Josh McAdams' Southern accent in the perl podcasts <a href=""></a> And the text appears to be a pastiche of Audrey's manifesto at <a href=""></a></p><p>But I prefer an alternative scenario.</p><p>Picture Larry, as a teenager, listening to the bugs one summer night after a tiring, but rewarding, afternoon playing the violin with the youth orchestra, and the night music reminding him of the music he had been playing a couple of hours before.</p><p>Stirred to listen to some more classical music, he turns on the radio and searches around for the local classical music station, but at the expected frequency, instead there is a country music station with a powerful transmitter, welling up from the South on the night air. The mood is spoiled and he thinks: 'Where'd those hillbillies come from? Get them out of here!'</p><p>More than 20 years later, in Japan, the fact bugs rhymes with pugs allows him to have some fun with that memory and the work of Josh McAdams and Audrey.</p><p>Audrey played the manifesto at her perl6 tutorial at Again, I was moved. But I'm glad I had first heard it before seeing Larry delivering it. (Apparently I don't have the right compression program.) The visuals of Larry delivering the manifesto overpower the message of the manifesto.</p><p>Here is this guy jumping up and down and twitching. I too recognized Scientology's lord master Xenu. <a href=""></a></p><p>Hey! If Larry can make fun of the South, Josh McAdams, country music, perlcast, Audrey, Taiwan, pugs AND bugs, we can make fun of him too.<br>~</p> mr_bean 2006-04-30T01:26:11+00:00 journal perl dialects <p>I asked Audrey at if perl had dialects. I didn't think it did. I regarded it as monolithic, not about to fork.</p><p>On the other hand, not knowing much about python, and seeing all the double-barreled python names, like Jython, and PyPy and so on, I thought other languages did have dialects.</p><p>Audrey said of course it has dialects, giving me Ingy's modules as an example. I had thought only Perl/Tk would qualify as a dialect.</p><p>Of course there is the issue of what is a language and what is a dialect.</p><p>Interestingly, Chinese people apparently regard the differences between<br>Cantonese and Mandarin and Taiwanese as differences of dialect, while Western<br>linguists call them different languages because they are mutually<br>unintelligible.</p><p>But then there is a saying that a language is a dialect with an army and a navy.</p> mr_bean 2006-04-22T09:04:28+00:00 journal Matz's Unicode slides <p>Here's a translation, from a Ruby list, of Matz's slides to his YAPC::Asia talk on why Ruby will not use Unicode, Ruby on Perls.</p><p>(That title brings to mind, Cinderella on Ice.)</p><p>Linkname: [rhg-discussion] [ANN] Ruby Hacking Guide - New chapters<br>(and a bonus)</p><p><a href=""></a></p><p>From the end, Unicode is practical, but not a panacea. Character Set Independence, on the other hand, is not an impossibility.</p><p> &nbsp;</p> mr_bean 2006-04-17T01:43:41+00:00 journal CPAN Forum at Why isn't it more active? <p>Perhaps it isn't inactive. There were 70 messages there since Monday and it's now Sunday.</p><p>Perhaps all the popular modules have their own mailing lists or other forums.<br>Meaning by definition, there won't be many messages.</p><p>But even some well-known modules like ingy's don't have forums. In particular, cpanforum didn't spring to mind, when I wanted to post something about Test::Base somewhere.</p><p>Perhaps I should have sent it to</p> mr_bean 2006-03-26T11:13:18+00:00 journal gugod blog on Taiwan hackathon The hackathon of the Taiwanese hackers and Miyagawa and Ingy that he hosted. The authors of 350 CPAN modules all writing and thinking together. <br> <a href=""></a> mr_bean 2006-01-12T05:48:24+00:00 journal humility, assertiveness and sense of humour <p>Laziness, impatience and hubris, the 3 perl<br>programmer virtues may have their source in these<br>3 critical personality traits from the Psychology<br>of Computer Programming (1971) by Gerald<br>Weinberg, apparently one of the first 'people'<br>people in programming.</p><p>Assertiveness is the other side of the coin of<br>humility, and both are necessary. Without<br>humility, success leads to overconfidence<br>(hubris), which leads to blind self-destruction.<br>On the other hand, assertiveness is like a steam<br>boiler without a safety valve. And on the<br>gripping hand, a spirit of self-criticism is like<br>a safety valve without a steam boiler.</p><p>This collusion of opposites is a reason for the<br>humour of the 3 perl virtues.</p><p>The other necessary traits: ability to tolerate<br>stressful situations, adaptability to rapid<br>change, and neatness.</p><p>This book seems to have got under the radar here.<br>I wonder why I have heard more about a<br>contemporary at IBM, Brooks and his Mythical<br>Man-Month, which appears to have come out 4 years<br>later in 1975, when essentially the same<br>observation is made by Weinberg.</p><p>It appears like Brooks he escaped from IBM into<br>academia. It appears the suits sent him back to<br>do a PhD in psychology. The experience seems to<br>have only changed him superficially. I wouldn't<br>call the book scientific, despite the inclusion<br>of some experiments he did teaching programming.</p><p>He tells stories about life as a programmer in<br>relation to some ideas of academic psychology.<br>One funny one is about 'a military project that<br>involved the creating of a world-wide network.'<br>The government was getting completely fictional<br>accounts of the progress being made. He also says<br>that when programmers don't get feedback about<br>their work, 'they start to vary the input in<br>arbitrary ways to see the effect--to get some<br>feedback, even at the risk of a poor evaluation.'</p><p>Some interesting hairshirt views about learning:<br>'When our program does not run correctly, we have<br>the opportunity to learn more specific lessons.<br>Quite often, under the pressure of production,<br>the programmer is tempted to bypass a trouble<br>spot with a fix that he knows will work, since it<br>does not use some new technique which he was<br>trying to master.<nobr> <wbr></nobr>.. [But] he will have missed a<br>golden opportunity for learning. No time will be<br>more propitious for learning than that time at<br>which the need for learning is felt most<br>strongly--the very moment when we detect an<br>error.'</p><p>Some principles for language design: Uniformity<br>or 'If a programmer asks, Can I write<nobr> <wbr></nobr>...? The<br>answer should be yes. Just like the child who is<br>told, No, too often, the programmer working in a<br>nonuniform language will tend to be discouraged<br>from trying new things.' This is close to DWIM. I<br>thought I saw something close to TIMTOWTDI too,<br>but perhaps what I remember was my looking for<br>it.</p> mr_bean 2006-01-06T02:55:37+00:00 journal perl attack by Amazon programmer A disturbing read by someone apparently involved in language wars at Amazon. Apart from list flattening and clunky references, his main problem seems to be Larry Wall. But because he may have been drunk at the time, perhaps the style hides a plea to Amazon management not to head in perl's direction. Larry Wall, over my dead body. <a href=""></a> <p> The issue of whether your personal atttitude to the language is determined or not by your attitude to Larry Wall is an interesting one, however. A lot of prominent perl people seem to have a zany sense of humor, zanier than that of other language proponents. But perhaps they acquired it as they learned the language. Perhaps proponents of other languages have a sense of humor too, but are funny in private, rather than in public. </p><p> Here's another URL I want to bookmark, David Hume's History of England, vol 6: <a href=""></a> </p><p> The skeptical Scottish philosopher's account of The English Civil War of the 17th century, fought over religion, warns of the dangers of sectarianism. It's fascinating. Never again will you ridicule Third World political developments, having read this.</p> mr_bean 2005-12-31T07:37:33+00:00 journal Dan 'Independent Donator' Kogai on open source sponsorship <p>He blogs (in Japanese) about the difficult<br>situation, starting from O'Reilly's laying off of<br>Larry Wall and ruby's Matsumoto Yukihiro's<br>possibly getting hit by a bus.<br><br>2.html</p> mr_bean 2005-12-23T05:20:39+00:00 journal Design Patterns <p>I found Design Patterns in the library while<br>looking for a Haskell book and had to read it,<br>because I had read so much about it.<br>It's quite a different sort of book than Damian<br>Conway's Object-Oriented Perl. I haven't actually<br>read that book, but judging from the downloadable<br>chapters, it's a nuts-and-bolts book. Perl<br>provides you some object-oriented jigsaw puzzle<br>pieces and Object-Oriented Perl helps you work<br>out which pieces fit together to get things done.</p><p>Design Patterns, on the other hand, is a top-down<br>kind of book. Its focus is on what sorts of<br>things get done in object-oriented programming,<br>and although there is C++ and Smalltalk code, I<br>think it is as an example. The book is not just<br>for users of those languages.<br>The impact of the book was because of this<br>super-language level, I think. It was<br>conceptualizing (naming and framing) design<br>structures which existed but hadn't been<br>recognized and which couldn't be captured in just<br>a discussion of language syntax.<br>The role of Christopher Alexander in the book is<br>interesting. He may have been inspirational, but<br>there is hardly anything in it that depends on<br>his ideas, I think.<br>If he read it, I think he would have felt<br>disappointed, because of the lack of real use of<br>his ideas. Peter Gabriel has written stuff which<br>puts Alexander's ideas to work better, I think.</p><p>Actually, I get the feeling that the esteem in<br>which Alexander's ideas are held is little<br>consolation to Alexander for his inability to get<br>architects to take him seriously.<br>A better metaphor than architecture is genre<br>analysis. It fits in with the language metaphor.<br>On the first page they use the analogy of plot<br>structure and OO design decisions.<br>The book is kind of repetitive. It looks like<br>they wrote parts separately, and then put them<br>together. The motivations for each pattern are<br>often repetitions of the discussion in the Lexi<br>case study, which seems not to be a real program,<br>but a made-up example.<br>I've been reading the book in the kitchen, rather<br>than in front of the computer, and although I'm<br>doing something with iterators at the moment, I<br>don't think the discussion of Iterator pattern is<br>going to have much effect on what I'm doing.</p><p>Perhaps I'll regret not reading more carefully<br>when the book is back in the library and I'm<br>struggling with code.<br>Actually, they do a good job of teaching. The<br>problem is that the real work is done by the<br>learner.<br>In their brief history of the writing of the<br>book, they say in the final year they put a<br>greater emphasis on the problem a pattern solves.<br>This was connected to the difficulty of learning<br>the patterns. The only ones who could understand<br>the patterns were the ones who already used them.</p><p>This is an important observation. I can't really<br>connect my problems with the problems they are<br>solving, so I am not going to learn their<br>solutions.<br>For more serious learners, perhaps end-of-chapter<br>exercises will not help very much. The only way<br>for learners to learn the patterns is to<br>conceptualize everything as a nail and try to hit<br>it on the head with a hammer.<br>Only when they get a better feeling for what is<br>and isn't a nail will they have really learned<br>the patterns. Until then, they are trying them<br>out.<br>This is the reason for the complaint by<br>experienced programmers about the rigidity of<br>people who have just read the book. They are<br>still learning.<br>This is a higher-level learning than the learning<br>of how to code the patterns, but connected to<br>this lower-level learning.</p> mr_bean 2005-11-06T10:06:02+00:00 journal G in GNU: Silent or pronounced? Yesterday in Taiwan, Richard Stallman said it is pronounced, but I disagree. He talked about the etymology of the name. There had been a series of FINE, SINE programs, meaning this program Is Not Emacs. So he started working down the alphabet looking for Something Not Unix and found GNU. <br> <br> There apparently had previously been pop culture plays on the pronunciation of gnu and seeing it's 20 years since the platform got going it is not 'new' anymore. That was basically his case. <br> <br> My argument for not pronouncing the G is that we need to stop an infinite regress. Or is it Gs all the way down? <br> <br> What does the G in GNU stand for? If it doesn't stand for anything, then silence is the appropriate pronunciation. If it stands for gnu, a gnu, or anything else, ie if the name really means A gnu (Entity X) is not Unix, the joke isn't so funny. mr_bean 2005-05-28T05:30:41+00:00 journal for recent journals41 <p>I was frustrated by not being able to see a list<br>of the most recent journals while logged in, the<br>same way that you can when not logged in, so I<br>felt quite pleased with myself, realizing<br> gives<br>you that list, logged in or not.</p><p>At the same time, I wondered why it took me so<br>long to realize that I could enter by hand the<br>URL, looking at it from the link on the front<br>page.</p> mr_bean 2005-05-08T10:37:56+00:00 journal TPF: A machine for turning money into perl6 A mathematician is a device for turning coffee into theorems. If coffee is not to theorems as money is to perl6, what is the relationship between free open source software and money? <br> <br> The firestorm at <a href=";tid=42">;tid=42</a> seems to have been partly over accounting practices. One poster suggested that people contribute to worthy causes according to their perception of the efficiency of the distributing agency. <br> <br>I thought that may apply only when there are agencies competing for the donor's money. If there is only one way to contribute to a worthy cause, then your mind is on the worthiness of the cause and less on the efficiency of the cause's agent. <br> <br>But if such is not the case, why not bring the YAS back into existence, and have it compete with the TPF in the form of a race to fund developers and reach milestones? People might be excited by the prospect of an easy expression of their views about perl6 in the form of a choice of whether to give their money to the YAS or the TPF. <br> <br> You're supposed to laugh, but I depressed MYSELF. mr_bean 2005-05-02T13:32:54+00:00 journal Brian Ingerson at YAPC::Taipei Last year he gave away JAPH t-shirts. This year, pink and blue IGNY ones, G for GNU? See slides at <br> <br> What's the KISS principle? No, it's Kwiki Is Spoon + Spork. So one of the lines is, Only gugod truly understands Ingy's KISS. <br> <br> gugod's Spork::S5, ( is Spork on steroids. <br> <br> The talk was, Kwiki, the Ritalin and Everything. It seemed he wanted to look within and explain why he was different. What did he say about Autrijus, Ritalin and himself? Autrijus suggested he take some Ritalin? He suggested Autrijus take some Ritalin? He took some of Autrijus' Ritalin. Autrijus asked him if he was taking Ritalin? <br> <br> The second slide was of 'Republican rocker' Ted Nugent (, who played at the first rock show he ever went to at the age of 16 in high school. <br> <br> The third one was of Barry Manilow ( Barry_Manilow), who they apparently beat up. But the song, Mandy, was a good song, I think. <br> <br> So Kwiki Sucks Rocks, but to get back to self-analysis, he said he was a slow typist. I can't remember him saying it at the talk, but on the slide he says he is easily distracted. On the other hand, one of his strengths is strong legs, and sticking to a theme. Being easily distracted seems the opposite of sticking to a theme, but perhaps being distracted happens from moment to moment, and sticking to a theme happens over long periods. I think he was referring to his work with perl. <br> <br> Reinventing everything was both a strength and a weakness. <br> <br> Anyway he likes Kwiki, because it social and distributive. And life is a video game, the only way out of which is to hack, hack, hack, collaboratively. <br> <br> On the Six, Drugs and Larry Wall slide, he says he has ADD. A different explanation of his unconventionality might be the influences on him like Nugent and Wall. <br> <br> In a recent p6-l message, Larry Wall says an important part of his psychology was being subjected to a lot of 'I'm not offended by what you do, but others might be, so don't do it' teaching, in other words, Be Conventional, which he had to work through. Ingy captures this Larry Wall spirit. <br> <br> He also needed an acoustic guitar, and apparently was going to sing at the end of the conference, but was prevented by Autrijus going overtime on his perl6 introduction. <br> <br> On the weekend at the conference at the backpackers hostel I was at there was a terrible Hugh Grant movie on TV where the kid wants to get through to his mother by singing at a school event, Killing Me Softly with Your Song, but the other kids start making fun of his bad singing, so Hugh Grant saves the kid by coming out with his guitar and helping the kid sing the song, and give us a happy ending. <br> <br> Just sing the stupid song, stupid kid! They're making fun of you is part of the deal, I was thinking. <br> <br> So, the fact we DIDN'T get to be embarrassed by Ingy taking his clothes off and doing Ted Nugent impressions was funny. <br> <br> He is also apparently working on Cog with Ward Cunningham, sort of like Kwiki from a shell. It appears to be somewhere in between vaporware and releasable. <br> <br> Back to ADD, just as Autrijus was starting his 2-hour intro to Perl6 and releasing pugs-6.0.13 at the same time, ingy wanted him to install a new Spork::S5Theme. Autrijus installed it, but immediately uninstalled it. Perhaps he didn't like the pug picture. <br> <br> I wonder why Ingy was doing this. Was he offering Autrijus another hoop to keep in the air? Did he think the pug picture was important for the presentation? Was this ADD in action? His other presentation was about FreePAN, also among the slides at http://yapc. It is like CPAN, but with subversion and all revisions are available. It looks like it would spread out from the Taiwan Academica Sinica's Open Foundry. <br> <br> I was interested in who he was competing with with FreePAN. Afterwards, I tried to ask Leon Brocard about the application of the ideas of his talk about APIs into the Yahoo and Google search engines to a CPAN shifting more of the load to clients, but he didn't think they had much application. <br> <br> Then I asked him how he would develop new CPAN. He asked me what's wrong with h the old one. I said handling perl6 and distributing 2 versions of one module. I mentioned the problems with modperl 2. He and Sam Vilain didn't have much good to say about modperl 2. <br> <br> Anyway, Ingy seems to be firmly on the subversion and svk bandwagon. Although there may be something on the slides about Kwid, he didn't talk about it at the conference, I think. He and Sam Vilain are apparently working on Perldoc now, however. mr_bean 2005-04-03T02:09:27+00:00 journal