Now, obviously a networked version control system is going to be CPU and memory bound, and it doesn't do much string manipulation so I am going to write it in C! And then I am going to base it on APR which is way less portable than for example Perl, because I don't want it to run on any other platforms than standard unix and win32!
Then I base it on a 666 layered architectured design without doing enough scalability testing to make sure it actually works, then I start hyping it incredibly!
PROFIT!
Sad news, subversion has delayed the Ponie project at least a week and most likely lost me as a user.
sky
In many systems the "O_EXCL" flag is available for opening files in exclusive mode. This is not locking: exclusiveness means here that if the file already exists, sysopen() fails. The "O_EXCL" wins "O_TRUNC".
So what is correct?
sky
My journal has been rather dead for quite some time. This has mostly been corresponding work workload and depression.
Now that 5.8 is out, threading is done, my depression is finally lifting I am getting time to do something fun!
That fun seems to be taking over some of Simon internal tools to be able to do something I have wanted to do for quite some time
types.pm - strict type checking in perl
People have said it is impossible, can't be done and so on, but guess what, people are stupid and wrong!
NOTHING IS IMPOSSIBLE
use types;
my int $foo;
sub foo { return 5.5 };
$foo = foo();
What does that give you, it gives you a compile time warning that you are trying to assign the return value of main::foo() which is a float to an int.
Stay tuned, I will continue talking about optimize.pm and types.pm around here.
I think I nailed the big threading bug here. You see I was using the main interpreter to store shared svs, now this is pretty silly since the main interpreter is well, used to executing the main thread! So we would get random segfaults. So I fixed up perl so you could do perl_alloc perl_construct and then use it for SV/AV/HVs, however this kind of broke because perl_parse was init PL_strtab and some other stuff, so I moved that stuff to perl_contruct and construct a new plain empty interpreter to keep my shared svs in, and now it works!
You might think this sounds easy, and it is, but it has been avoiding me for a month now, it struck me while U was drying home made pasta.
So know I have to add threads::shared to the mix and be happy.
Arthur
Whee, I just silenced the last warning when building perl with threads and 64bit platforms on my main platform. Life is good.
This weekend was productive, I am nearly finished with the base POE::Componenet::HTTP::Server. It is a simple module for dealing with http requests. It is mildly modeled around some ideas taken from apache. It supports.
Arthur
I am having random troubles with threading on random platforms. It works well on single CPU machines.
It fails badly on multiple CPU machines. Now this is usually the case with multithreaded programs. Now you have to identify the assumptions in your code that might break things. This is relativly easy when you have written code yourself, but next to impossible if you haven't. And debuggin threaded applications is not trivial, since if you slow it down with debugging information, you usually end up with something running correctly. Remeber, god is involved in how your threads are scheduled
What is left to do now is.
So now I have to fix that. Lets move on!
sky
I am now leaving radio silence after a month. I had a post YAPC burnout combined with increased work on p5p.
Our dear pumpking went on vacation with his lovely wife and they visited us in Stockholm sunday a week ago. Meeting Elaine and Jarkko was a blast! I look forward to having them live closeby in Helsinki
Today is my 1 year anniversay since engagment, 1 year and 2 months to marriage, wheee I am happy
Back to work for know.
sky