Well I am getting close to finishing off my 'Creator' class that I started in this post I really have only three little parts to add on to get to the end. Character Starting Monies, Alignment, and equipping the character.
Well equipping is more a game play than a character creation part as buying something and stuffing it in your sack happens at any point in the game. So all I will have to do is give the character his starting tithe then let them loose in the store, as everyone knows a fool and his money are quickly parted if that 1th level Magic-User want to blow his wad on Chainmail and a Falchion far be it from me from stopping me from buying it.
Equipping and using it is another question and again that belongs in game play so I will defer that till later.
Cheerio, in case you missed me, started to study again (compunter science and music) so had almost none time for Perl. Even worse, I was forced to learn and write Java. My complaint on international human rights court is pending. But now are holidays, time to prepare exams and .. to reflect about my open source activities.
Last week we talked about the awesome productivity of Perl without really asking why it’s so good at it. For one answer to that, we’ll need to look at a new spectrum.
There are several different spectra in Perl. In fact, one of the coolest things about Larry is that he’s not only given us a cool language to play with; he’s also given us cool new ways to think about the languages we play with. Along one spectrum we have the tripartite concept of laziness, impatience, and hubris. This series has only touched on these indirectly: laziness drives the language be legible, impatience drives it to be productive, and hubris drives it to be closer to a natural language.2 Along another spectrum, we have the orthogonal concepts of manipulexity and whipuptitude, which we just discussed last week.
But there’s another spectrum to look at, which includes the twin concepts of TMTOWTDI and DWIM.3 TMTOWTDI is closely linked to context, which we covered pretty thoroughly. But what about DWIM?
My step into what I wood call the world of Moose was actually job related a few years ago and have been happy with it ever since.
One thing in the community I have seen it the rise of other flavors of 'postmodern object system' perl namely the first 'Mouse' and the more recent 'Moo'. Will 'M' will be next? I had some time after bashing in walls and laying wire so I had a look at them.
Both I guess try to solve the same problem mainly the over head of Moose. Mouse drops some parts of moose and redoes others and tries to retain most of Moose's syntax, Moo takes a use only what you need approach so is a little more basic but is much more compatible with Moose.
Both state that they are useful for 'CGI' command line and other simple implementations. To me this begs the question why would you even choose OO design for the above three situations??
v2.0.0 accommodates when the POD (.pod) file is separate from the module (.pm) file. (I gather that this is the case in upcoming Debian.) As I had to modify both pman and podpath for this change, it was easier to just push that functionality into an iterator-generator routine in the pmtools module itself (the first time the pmtools module has contained any useful code.) I only have 1 data point (my consulting PC), but pman and podpath appear to be slightly faster for it.
I bumped the version up to v2.0.0 because of the new dependency on the pmtools module, as well as all of the changes from v1.00 to v2.0.0.
Well in my last post I found the usefulness of builders when using roles and I quickly found another opportunity to use them about 10 minutes after I finished the post.
Seems I forgot that multi-classed characters are special when it comes to Hit Points (HP).
The rule for their HPs are;
'Roll the appropriate die for each class, add in any constitution bonus, divide by the number of classes rounding up.'
So I now need some sort of way to express this and there are a few things to consider. I could stick it in the '_build_hps' sub of my 'Creator' class and be done with it but then I would have to check somehow if the Character is mutil-class but then I would have to do the same sort of 'if else tree' in my character class if there was only some way it could be one or the other.
I'm living in Moscow, Russian. Here we have Underground, a rapid transit system. Recently there appeared free WiFi. You just need to connect some WiFi spot, then accept the Licence agreement and you can use Internet.
Yesterday I've opened blogs.perl.org at my mobile phone and here is what I've seen:
At the bottom of the screen the ad has appeared. A small investigation showed that blogs.perl.org is working over http and the WiFi provider changed html and adds that ad.
I don't think that this is ok. Actually I think that this is a horrible business model to change some others sites. But this is the thing that is real and the only way to stop it is to use https.
Actually ssl certificates are very cheep nowadays one year certificate costs less than $10.
So I want blogs.perl.org to work over https. How can I help you with switching to https? I will be very glad to donate the ssl purchase. Where can I transfer money? =)
It has been a few post since my last full Moose and AD&D post so I though I would get at least one more rule into my 'Creator' Class now that I have may Character Classes and races all sorted out.
This time we are going to look at Hit Points or HP for short.
A touchy subject, for many, as I am sure the black Knight has taken quite a few beyond normal and still fights on.
As well as being the source of endless debate there are also quite a few rules on HPs that are a little tricky to play with. Here are the basics
Well, actually I'm going to YAPC::NA in Orlando, Florida. That "magic kingdom" place is just a side show by comparison.
This will be my fourth YAPC, and I'm especially excited this year. There have been a lot of advancements in asynchronous programming, meta-object protocols, and web frameworks. So I'm really looking forward to presentations on those.
And of course, there are all the hidden gems that I discover at YAPC -- things I had never expected to learn, but turn out to be incredibly useful or enlightening. Those alone are well worth the expense of attending.
And I always enjoy meeting all the fantastic people who have contributed to Perl::Critic and Pinto over the years. So if you see me, please come up and say "hi". I am pretty easy to spot -- I'm usually the only guy wearing a suit and tie.
I find it difficult to review documentation written in a markup language. I need to see that final pretty rendition of it as a manual page, PDF file or HTML web page before I can get a feeling if the thing makes sense. I also like to see that final rendition while I'm writing the document, and switching between the editor and the command line to render the documentation is painful.
Luckily most modern OS's provide a means of monitoring filesystems for changes. I've put together a rather simple bash script which uses Linux's inotify system and App::Pod2CpanHtml to generate HTML output whenever I save a .pod or .pm file. I use Firefox with the Auto Reload plugin to view the files. For grins the script also has an option to pop up a desktop notification when things change, so I know something has happened.
It has been bugging me for a while why my silly little Orignal mod if failing CPAN Testers in all sorts of odd ways. In one version of perl nothing the next something dies and it is just basic code.
Finally had a few mins today and no Idea of what to blog on so I worked on finding the answer.
There is a Jaccard Similarity Coefficient routine already in CPAN, but it is specialized for use by Text::NSP. I wanted a generic routine that could be used by anyone so Set::Jaccard::SimilarityCoefficient was born.
The minimum Perl version for Set::Jaccard::SimilarityCoefficient is currently set to 5.8.8, but that needs to be revised because it uses autodie and Test::Most (thereby causing many CPAN Testers failures).
A few days ago, while migrating my stuff from a soon to be retired host to a new one, I reinstalled a lot of CPAN modules. That's how I found that a dependency of Bot::BasicBot::Pluggable failed its test suite (the migrated box was running the assemble and corelist and meta IRC bots).
The blame for most of what follows can be put on Neil Bowers.
package MyUtils;
use strict;
use warnings FATAL => qw( all );
sub frobnicate { ... }
1;
It passes its test suite, and all is fine and dandy. You use the frobnicate function in a long-running data processing script, and after the first 45 minutes it suddenly dies saying Use of uninitialized value $quux in addition at lib/MyUtils.pm line 13. D'oh!