Computers: December 2001 Archives
"The Godfather Saga" is being broadcast on TNN on Christmas Day. Now, I love The Godfather, but it's not really a "Christmas" movie. And it is *nine hours* for the whole Saga (parts one and two). The movie itself with additional scenes is less than seven hours. That's over two hours of commercials. If you can be worth $40/hr., you should just buy the videos or DVDs for $80 and work those two hours to cover it. Or something.
Anyway, Nero Wolfe is going to be on all day!
But chances are I'll spend most of the day playing outside with the dogs, listening to music, and relaxing by the fire.
Anyway, Nero Wolfe is going to be on all day!
But chances are I'll spend most of the day playing outside with the dogs, listening to music, and relaxing by the fire.
I am really quite proud of myself (I'll allow myself this indulgence as it's nearly 2 a.m.).
Matthias wrote a really nifty interface to Mac::Memory handles so that you could read and write to them as filehandles. The thing is, in the old MacPerl it relied on HandleSocket.cp, a GUSI subclass or something that would do all the dirty work. It was written to GUSI 1, and we now use GUSI 2. Well, I don't know much about GUSI, and even less about C++, but after a bunch of trial and error, I finally ported it to GUSI 2 and got it to work.
Well, it reads anyway. Writing is not working yet. Oh well, there goes my pride.
Matthias wrote a really nifty interface to Mac::Memory handles so that you could read and write to them as filehandles. The thing is, in the old MacPerl it relied on HandleSocket.cp, a GUSI subclass or something that would do all the dirty work. It was written to GUSI 1, and we now use GUSI 2. Well, I don't know much about GUSI, and even less about C++, but after a bunch of trial and error, I finally ported it to GUSI 2 and got it to work.
Well, it reads anyway. Writing is not working yet. Oh well, there goes my pride.
Thanks to Robert Mah and Ingy, I now have a framework for using Inline + Carbon on Mac OS X. As I suspected, it was all linking problems. The missing incantation was:
LDDLFLAGS => '-bundle -flat_namespace -undefined suppress -framework Carbon'
I had some pieces of that, though I can't recall which. But it works now, very cool. It is not as cool as Mac:: modules on Mac OS X, but it is great to have it available.
It's surely entirely premature to actually announce anything, but I was contacted this morning by someone who seems willing and able to do some work in porting Mac:: modules to Mac OS X. That would be just fantastic. It would make Mac OS X so much better, and perhaps improve MacPerl too (as maybe once the project gets going, bugs here and there will be fixed) and finally give people a way to make perl-based GUIs that run on both systems.
It seems like most of the changes I've seen lately to bleadperl have been changes to tests. That's a good thing. Except that I usually have more porting to do on perl tests than on C code. :-) But it does look like Schwern et al have done some good work on portability of tests etc. Maybe it won't be too bad. Early next year when I get to full-scale bleadperl porting, we'll see.
I was able to, after some pain and gnashing of teeth and nastiness of language, get a build of Shuck with MWC68K and MWCPPC, including all of Thomas Wegner's changes so far. Yay!
The thing that sucked was Shuck sometimes loading the MacPerl Help file, and sometimes not. It turns out that the way it found the file was by looking for the location of the current process, and then from there looking for a file in the same location. Wonderful. Except that the ProcessInfoSpec structure requires you to set the processInfoLength field (i.e.., sizeof(ProcessInfoSpec)), because the ProcessInfoSpec spec is designed to be able to be upgraded in the future. And this field was not set, and so sometimes it would work, and sometimes it would not (apparently depending only on the humidity level of the surrounding air, or somesuch).
But it works now. YAY.
The thing that sucked was Shuck sometimes loading the MacPerl Help file, and sometimes not. It turns out that the way it found the file was by looking for the location of the current process, and then from there looking for a file in the same location. Wonderful. Except that the ProcessInfoSpec structure requires you to set the processInfoLength field (i.e.., sizeof(ProcessInfoSpec)), because the ProcessInfoSpec spec is designed to be able to be upgraded in the future. And this field was not set, and so sometimes it would work, and sometimes it would not (apparently depending only on the humidity level of the surrounding air, or somesuch).
But it works now. YAY.
So I've been working for a week or so on an image gallery plugin for Slash (working titled Slash::Pr0n) and it's coming along swimmingly. The addition of Image::Info to the mix is great; I can provide all sorts of cool information about the images -- taken with my Nikon Coolpix 995 -- with very little extra effort.
Maybe I'll put up conference photos here on use Perl; when I get it done. Or porn.
NP: Honey Bee - Tom Petty (Wildflowers)
Maybe I'll put up conference photos here on use Perl; when I get it done. Or porn.
NP: Honey Bee - Tom Petty (Wildflowers)
I went and spent a lot of money this weekend.
My wife and I often, instead of spending money on Christmas presents, save up for the things we want/need and purchase those around Christmas time. It sorta makes us feel like we participated in spending a lot for Christmas like good little consumers, and we get all the sales and special deals.
Try it, it's fun!
NP: The Rebel Jesus - The Chieftains (The Bells of Dublin)
My wife and I often, instead of spending money on Christmas presents, save up for the things we want/need and purchase those around Christmas time. It sorta makes us feel like we participated in spending a lot for Christmas like good little consumers, and we get all the sales and special deals.
Try it, it's fun!
NP: The Rebel Jesus - The Chieftains (The Bells of Dublin)
So I am working on a new plugin for Slash, which is called Slash::Gallery, but it's really Slash::Pr0n.
It is essentially an image gallery plugin, but it will also have image groups that you can assign images to (they can be assigned to more than one group) and then users can be a member of those groups, and users can only see the images that are in their groups. Slash has built-in ways to make sure that you can't download too much, so it will have protection from mass-downloaders, and I am going to work out some way to make sure that the URL you get for an image is only good for you, not for any other user.
It also automatically scales the images, using Imager. If the scaled image is not on disk, it creates it, saves it to disk, and sends it out. Otherwise, it just sends it out. If the original image is modified (date is more recent than scaled image), then it recreates the scaled image. You can add images to the system just by adding them to the filesystem (organized however you like) and then calling a method to search for new images.
I've gotta get this finished so I can distribute pictures I've been taking to friends and family, and I've never found an image gallery thingy I liked, and pudge.net is now running Slash, so ...
It is essentially an image gallery plugin, but it will also have image groups that you can assign images to (they can be assigned to more than one group) and then users can be a member of those groups, and users can only see the images that are in their groups. Slash has built-in ways to make sure that you can't download too much, so it will have protection from mass-downloaders, and I am going to work out some way to make sure that the URL you get for an image is only good for you, not for any other user.
It also automatically scales the images, using Imager. If the scaled image is not on disk, it creates it, saves it to disk, and sends it out. Otherwise, it just sends it out. If the original image is modified (date is more recent than scaled image), then it recreates the scaled image. You can add images to the system just by adding them to the filesystem (organized however you like) and then calling a method to search for new images.
I've gotta get this finished so I can distribute pictures I've been taking to friends and family, and I've never found an image gallery thingy I liked, and pudge.net is now running Slash, so ...