Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

sky (1411)

  (email not shown publicly)

sky on IRC

Journal of sky (1411)

Wednesday June 16, 2004
09:16 AM

Producing things

After a very turbulent time during the last months, things are becoming more hectic for every single day! In April I got offered/got told/accepted a new position within Fotango as Infrastructure Manager, leaving my role as Senior Developer behind me. From an opensource point of view this affects our commitment to perl and ponie slightly, however since we had recently hired internal maverick and perl 5 port herder Nicholas Clark that got solved by Nicholas getting the company time previously allocated to me to do Ponie. For me it is a return to managing things and has turned out very interesting. This has actually led me to looking into opensource projects again, and as a first step I embedded libnids in perl using XS, the first steps are at Fotangos subversion server and I hope to release this weekend to CPAN complete with documentation but no tests! On that note I would really much like ideas how to write portable tests for a network sniffer :-).
Monday March 15, 2004
10:24 AM


So none of my OSCON proposals were accepted, so I guess Fotango will not make the extra funds available.

That means I am staying in Europe and might hit YAPC::EU or Italian Perl Workshop, which has the benefit of being in Italy and I have never seen the leaning tower.

Friday March 12, 2004
12:26 PM

Poniedate #62

So we have been tracking down bugs lately, seems that parrot hijacks by design SIGINT making several perl tests fail, other were attributed to statically constructed message sv that didn't clear the memory it was using (sigh). We also uncovered a bug in parrot with too many active registered PMCs, so currently ponie is compiled with the libc gc option.

So today we succeeded and we released, it should propagate on CPAN over the next couple of hours.

Sunday February 29, 2004
06:50 PM

Poniedate #43

So, today was supposed to be a big release day, and it was for the parrot guys, but it isn't for me! After working hard on tracking down memory corruption problems over the weekend, I still fail at my objective.

Status is pretty good, the current ponie will use hashes and arrays and lvalues hidden in PMCs, and it will pass over 80% of miniperl tests. However there seems to be some random memory corruption happening with arrays when they are being resized after something has happened to them. AvARRAY ends up pointing directly into an parrot managed arena.

The annoying thing is that most test pass, but a random selection of things fail, and they fail int he pad code because of the array issue, but no array tests fail, meaning there is most likely a lack of tests for how array resizing works.

One good thing is I sent a ponie related patch to p5p to clear up some nasty macros.


Friday February 20, 2004
08:32 AM

Poniedate #33

Things are starting to move again, I am now focusing hard on making my Array as PMC experiments working for real. After a hectic last month that included various non perl activities including a trip to Minneapolis, moving things form Sweden, settling in a new house and trying to hit a meaningless deadline at work, I am now back on ponie development again and should be so more actively over the next month.

Essentially I have a solution for using PMCs for arrays simply by hiding the XPVAV behind an interface, and have all the macros return pointers into the structure. Now this allows the perl internals only to function with perl5array pmcs and not general pmcs, but for the the time being there is not much to do about it. Most parts of the perl internals assume total access to the internals of an array, this includes pad and stack handling code, the correct solution is for them to use the official API and not hack things directly, the reason they are not doing so is of course 'speed' reasons (or in some cases, because they do really really evil things). So for the time being, you will only be able to use perl5array pmcs in there, further ahead we should be able to, at least for most operations, be able to use any Parrot PMC that works as a container. (The question on how much XS code depends on the internals of arrays/hashes need to be looked at too).

Hopefully, by end of next week, arrays should be working fully again with tie calls going through a PMC switch and using a perl5tie pmc instead.


Sunday February 01, 2004
11:22 AM

In the twin cities

So I arrived on Friday afternoon after a spending a long time flying, due to insane regulations I had to be up at 6AM in the morning so I could be at the airport for for 7 so I could sit around for 3 hours to until the flight left at 10.15. Thankfully I have a Priority Pass so I could relax in a lounge. I wisely choose to fly American Airlines since they have air marshals and therefore they fly, they also have plenty of space in economy and more importantly, power in economy (if you ask for it, Delta also has this). I was picked up by Mandi from Codeweavers and after a detour by the hotel we ended up at the Codeweaver office. Lots of geeks here but I am kind of alone with my laptop.

After a few more people joined in we went off to a mexican resturant which was nice, ended up in bed at midnight after being up close to 24 hours.

Then on saturday we got picked up by Jeremey White and taken to the hotel, it was a lot of small speeches, discussion and interesting approaches on how to fix things, and when the mythical 1.0 release will happen. The big thing is that Office really runs except clippy.

Right now there is demos and talk about winebuild, which is ofcourse what I think is most interesting, and then after this it will be a demo of ReactOS by the core ReactOS team. But first pizza.


Tuesday January 20, 2004
06:16 PM

Minneapolis/St Paul visit to wine conf

So, this year the conference season starts of early for me, with little advance warning and a strange new conference too.

At work I have recently been dabbing a bit into wine, you know, the ultra cool opensource implementation of the Win32 API. So I suggested to the company that instead of going to all boring (in the sense I heard most of the talks by now) perl conferences again, I switch one and hit Wine Conf, after an hours thinking I got the ok and now I am off to fly to Minneapolis on Friday the 29th of January, see wine hackers for the weekend and then fly back early morning on Monday the 2nd of February!

Maybe some perl people live in the area? Maybe some time on sunday to meet up?


Wednesday January 07, 2004
06:26 AM

Poniedate #30

Not much happened over christmas, I celebrated it in Sweden with proper amount of snow and christmasy feeling. Arriving back to the Fotango mothership to hack on ponie full time led me into a rude chock.

I had a working hack of LVALUE types, barely, that kind of did interesting things. Most importantly it did compile miniperl. However life is never easy, a certain excellent french perl hacker, yes Rafael you, had changed LVALUE types since I last looked at them to be used in tie magic. So when you are fetching a tied value today, you actually get a LVALUE type with a undocumented 't' type, but this LVALUE type still uses tie magic instead of lvalue magic.

Implementing a emulation layer for tie magic seems fairly hopeless to me since tie magic is the most advanced type of magic and also since I am going totally rip it out when I redo hashes and arrays.

Obviously, the solution is simple, just rearrange the schedule a bit and RIP out hashes and arrays and implement them using PMCs instead, and this is exactly what I am going to do. So instead of January release there will be a leap day release (end of February) with lvalues, arrays and hashes being implemented using PMCs. This will be followed by a end of april - middle of may release which will have all SV types converted to PMCs, this release should be tested out in the wild against CPAN modules. Fixes to this release should lead up to a conference season release where the PMC conversion is declared to be done. This will let us focus on the next step, opcode to bytecode conversion.


Thursday December 11, 2003
06:48 AM

Poniedate 21

Since nothing goes on in the ponie mailing list, there are no summarises, I have decided (after gnat and acme forced me ;) to start writing a little ponie blog.

Over the last 4 months or so that I have been working on ponie (august, september, october, november) not much seems to have happen, quickly a first snapshot was released with an integrated perl/parrot build system, and a couple of emails to the parrot internal mailing list. However, several things have actually happened.

Ponie has pushed parrots embedding and extending API to a point where you can actually do things with parrot without including all of the parrot header files. It has also gotten build system that seems to be reliable to changes in parrot, there hasn't been a need to change it in quite a while.

The current plan is to implement perls LVALUEs using a PMC, since perls LVALUEs don't actually store any date, just pass on to whatever is behind the lvalue, (using magic today) this should be a somewhat limited thing to do that only touches specific ares of the core. So still being able to compile miniperl and run minitest without LVALUES is very very handy.

The current cvs version will in fact create a Perl5_LV PMC when you create a lvalue in perl (little treasure hunt, can anyone list all the ways to get a LVALUE reference type in perl), it will then die a horrible death because it attempts to use a SvPVX and fails with a FIXME error message. The use of macros as lvalues in C, (SvPVX(foo) = bar), was a bit difficult to find a way to emulate using functions. However, thanks to Nicholas Clark and Abhijit who told me that I can do #define SvPVX *(&Perl_svpvx((sv))) to make a lvalue function call. This will make it possible to emulate things properly in XSUBs. (All of the core will get their usage of lvalue macros rewritten however).


Thursday August 21, 2003
09:46 AM

Ponie Snapshot

Despite various problems with subversion, here is the first snapshot of Ponie.