Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages. Parrot currently hosts a variety of language implementations in various stages of completion, including Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL, and a .NET bytecode translator. Parrot is not about parrots, though we are rather fond of them for obvious reasons.

Progress report

I have been working on the api.c file that handles the functions for the security. Revising and editing functions with the help of Whiteknight and Dukeleto. Right now I am allocating, initializing and freeing memory for the functions as well as integrating the api.c and utility.c files I am working on into root.in. I expect to get much done this week in terms of the api.

What have we done for you lately

And by we, I mean myself, parrot, and mod_parrot. That is simple: cgi-style running LIVES AGAIN (almost, just need to fix headers ;-)). And with it, all the infrasturcture to implement more and nicer loaders, such as those for PSGI and / or WSGI, and the famous inline loader-in-the-sky I will be writing. Pretty nice, no?

For the technically interested, what has happened is that:

  • Loaders now accept 3 arguments: the request (as a PtrBuf). This is an opaque handle, that can be used to bind to the apache input / output handles.

Testing Part

This week was spent on fixing the errors encountered basically by adding get_pointers() functions to some of the files in parrot and pla.Then later on started to write tests on the project to check the correctness of the result from lapack subroutines but have to change the implementation of the initial file so that it would be helpful for the testing part.Had also encountered and learned about an error from git regarding merge conflict.

Small Progress in Security Sandbox

Started the project off with a small problem. Parrot refused to build correctly on my windows machine. In the end I replaced it with Ubuntu to prevent falling behind further in my projected time line and have made little progress. It seems the biggest problem with developing the core for me is Parrots internals and fully understanding them. Whiteknight has been patient and giving guidance. I plan on submitting a small list of what exactly I am having problems with hopefully sometime today so I can prevent further snags. I welcome any and all advice.

Update on infrastructure

All things considered mod_parrot is a little less than a 1000 lines long. About half of that is infrastructure (building, testing). For that, it now buys you the ability to configure, start and stop a mock apache server via the pudding framework (testing is influx right now... Karma for whoever can guess why its called pudding.). Not only that, I can attach gdb to the same, also via pudding.

PACT: Infrastructure

Oh, right. Weekly blog posts. benabik-- In the same style as last year, I'm going to include what I said I'd do and what I have done.

May 30 Improvements to Key PMC: Creation/introspection of keys with register contents. This both a useful improvement to Parrot on its own and useful for later portions of this project.

The initial step

This is about the project "LAPACK binding with PLA".
To implement the project have been using winxed,read some code and examples related to this on http://whiteknight.github.com/Rosella/winxed/index.html
and have started to code in the same.
Till date have am trying to call the LAPACK function by using some of the matrices in PLA but got an error regarding a pointer and trying to figure out the cause as everything being passed to the lapack function is a pointer.

A few steps forward

So, what happened in the world of mod_parrot? Segfaults, thats what happened. And an awesome community helping and fixing every problem.

First the segfault. What happened is that I called compreg() from within a script. That failed because the compreg opcode assumes a hash to initialized, which wasn't. (It was NULL). So once I mentioned this on the mailinglist, within minutes whiteknight++ pushed a fix that made the opcode use the proper API function which fixed the problem.

GSoC starts today

As you may or may not know, I'm tasked with implementing mod_parrot during this years' edition of google summer of code. So in preparation, I have researched the wealth of information that is the internet, and have found the following peculiar little tool:

http://httpd.apache.org/docs/2.2/programs/apxs.html

Which stands for the apache extension tool, and which can - among other things - generate, compile, and install entire modules. I originally planned to take two weeks to do that very thing.

GSOC: Introduction

Parrot Foundation,

Good day Parrot! A few people have already met me through chat, but for those who haven't, my name is Justin Harper. I am a Junior in the Electrical Engineering Department at Temple University in Philadelphia and am very excited to be apart of this team.

Syndicate content