Custom DBIx::Class ResultSets

On my personal blog I wrote about Veure, an MMORPG that I'm writing in Perl. I followed that up with a post about the roadmap to an invite-only alpha. It's a lot of work, but my company has now decided to commit to it and figure out how to finance the work. This browser game is huge in intended scope, but fortunately, Perl has given me the power to get much of it done quickly. In fact, according to my private Veure github repo, I now have 17% of the ALPHA tasks done. That's up from 0% when I posted the roadmap a little over a week ago. In short, progress is fast.

Currently I'm working on character combat and that's where custom DBIx::Class resultsets have made my life easier.

List of Running Grants

We maintain a list of the running/completed grants at www.perlfoundation.org.

Looking at the running grants list, there's one thing I can clearly say: We need more grants!

In the next few blog entries, I'd like to discuss the efforts we made and we will make so that the grants program is more useful for the community.

One Moose, Many Mooses, or is that Mise?

Now that I am getting into the game play part of AD&D I am finding there are more and more times where I want to keep a record of some attribute not just a running total.

For example after a successful encounter experience for monsters killed or defeated (making them run away is defeating them) and the value of all treasure taken in gold peices is summed and then split evenly across all party members, including henchmen and friendly NPC, who actively engaged in the encounter as Expreriance Points or EP for short.

Well a running tally for each player is needed, as well player always like to look back and see how bad ass they are so a history of encounters is needed, as well players like to know how many monsters they whacked in an encounter and of course the list goes on.

Help needed fixing links leading to CPAN

Do you have a few minutes? Please help fixing links leading to CPAN.

Carrying (mini)CPAN

Thanks to minicpan, I keep a local copy of the latest versions hosted on CPAN. Running minicpan weekly, I keep it up to date. My .minicpanrc file:
local: /home/netbook/minicpan/miniCPAN_20140405/
remote: http://your.favorite.cpan.mirror/
also_mirror: indices/ls-lR.gz
Now, I want to carry my local minicpan keeping it on a memory stick. Changing .minicpanrc to:
local: /media/USB16GB/miniCPAN_20140405/
remote: file://home/netbook/minicpan/miniCPAN_20140405/
also_mirror: indices/ls-lR.gz
and running minicpan again, sweeps my minicpan onto my stick. Fine. Now, I can install any module offline (as long as specific version dependencies are satisfied). Just mount my stick and either, first time running cpan:
...
Would you like to configure as much as possible automatically? [yes]
...
sites for you? (This means connecting to the Internet) [yes] no
...
Would you like to pick from the CPAN mirror list? [yes] no
...
Please enter your CPAN site: [] file:///mnt/minicpan
Enter another URL or ENTER to quit: []
New urllist
  file:///mnt/minicpan/

Autoconfiguration complete.
commit: wrote '/home/userOne/.cpan/CPAN/MyConfig.pm'
...

Well More Little Helpers

Had a power outage for most of the day today so just a short post carrying on from where my last post left off.

Again I figured I might as well add in a second function into my little mod this one parses a directory listing (very badly) and then prints out the English for it

I do not usually have much of a problem with file entries but I figure some people might be worse at it than me so here goes.

So I exposed 'parse_file_listing' in my mod and here is a sample


use ParseCHMOD;

my $chmod= ParseCHMOD->new();
                       
$chmod->parse_file_listing('drwxr-xr-x  3 byterok dev      4096 Dec 17 11:23 hold');
$chmod->parse_file_listing('-rw-r--r--  1 byterok dev        10 Mar 27 10:52 .profile');
$chmod->parse_file_listing('lrwxrwxrwx  1 root    root       25 Dec 10 14:34 public_html -> /wwwveh/ssssss/byterock');
$chmod->parse_file_listing('drwxr-xr-x  3 byterok dev      4096 Mar  8 14:56 junk');

and the output

GitPrep 1.6 is released - Time zone support, Charset support, and improvement of markdown

I released GitPrep 1.6. You can install portable GitHub system into Unix / Linux easily. It is second major release.

Because you can install GitPrep into your own server, you can create users and repositories without limit. You can use GitPrep freely because GitPrep is free software. You can also install GitPrep into shared rental server.

GitPrep (Document and Repository)

Features added in 1.6 are:

-Time zone support
-Charset support
-Improvement of markdown

1.6 support time zone. You can specify time zone in config file. and support multiple charset. If you specify charset suspecting order in config file, you can see files which contains multiple charsets. Markdown syntax is improved, and support fence code syntax.

Let's use usufully.

Example

You can try GitPrep example.

GitPrep Example

Download

Download

Document

GitPrep Document and Repositry

I Was so Impressed I Wrote More Code

I guess I was inspired by by Bradley Andersen's little perl mod 'ParseCron' do a little code writing in the same vain.

Like I mentioned in my last post there many aspects of sys-adm that boggle my little mind and on of the chief ones is how 'chmod' converts a slew of 3 digits into unix style file permissions.

I get the rwx or - part on the files system that is easy enough. It is how 756 does its majik that addles my brain. I know it is just a sum that add to 7 for full access and 0 for none but I never could remember much more than that. So I came up with this little mod (early days yet but might make it to CPAN in a few days)

It is called ParseCHMOD and you can find the first cut here not much to look at and just something I have thrown together in the lats half hour our so but a start.

So here is a sample run

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.