Older blog entries for kjw (starting at number 21)

It's all fun and games...

Not really, but you knew that already.

For those who don't follow my blog, I am now living in Vancouver again, and a few major life changes have happened. Check the blog for details.

ObjCI is currently on hold while I get up to speed with Tcl/Tk, which I am using fairly intensively in my work at ActiveState. So far I'm pretty good with Tcl (been working with it for around seven or eight weeks now), but need to learn most of Tk (been working with it for about three days over the course of the last several weeks).

Speaking of work, I also have a work blog, which contains somewhat-coherent ramblings on various stuff mostly related to ActiveState. I'm going to try to post an interesting entry about once a week there, though it may only be interesting to people who use ActiveState software.

At any rate, I'll try to update here a little more frequently.

Problems solved

A good session with ElectricFence solved the problems I was having everwhere except on OS X. The problem there seems to be that the Objective C runtime is somewhat different than the GCC runtime, even though they use GCC. Go figure.

I may drop support for Mac OS X in ObjCI altogether if that's the case -- I have no plans to use Mac OS X once Apple's Intel migration is complete and the FreeBSD PPC port is released.

At any rate, a search for ObjCI on Freshmeat will turn up the project page there, if anyone is interested.

C

ncm: You are absolutely right on one count -- Linux detected the problem immediately. The immediate problem is that I am a moron, and memset from the wrong index, thereby overflowing my buffer. :) The code now works fine on Linux and FreeBSD.

However, Mac OS X is still claiming that an object returned from the array is an object of the expected type, but somehow doesn't respond to a message that it is supposed to. Very strange, and I'm not quite sure how to debug it. I'll figure it out, though.

3 Aug 2005 (updated 3 Aug 2005 at 19:31 UTC) »
The joys of C...

Working on a new release of ObjCI, and having lots of fun. Kind of.

I've managed to create code that works great on FreeBSD/x86, but breaks on Linux/x86 and Mac OS X/PPC. The odd part is that the only functions being used in that section of code are memmove and memset.

If you've got time on your hands and feel like having a peek, check out revision 64 at http://kjwcode.com/svn/objci and tell me where I'm going horribly wrong. :) The username is "anon", and it has a blank password.

Edit: The fun part is replaceAllObjects:with: in class OIArray. Sorry for not including that sooner.

C++

The mysteries of C++ are beginning to make some sense to me now. There is a project that I am working on that makes the most sense to write in C or C++, and I chose the latter -- I don't feel like reimplementing most of the STL in C. I've been at it about an hour a day for a week now, and I'm making progress. The progress is mostly exploratory code at this point, though.

Though I've read a lot of C++ code and several C++ books over the years, I've never been one to write a lot of it. I have a feeling this is going to change, though. With some practice, I think I can be almost as productive in C++ as I can be in Ruby. Hopefully I'll be able to set aside a daily study time.

That was odd...

My account died. However, on re-creating it, I still have all of my diary entries and my project link. Weird.

kjwcode.com

kjwcode.com replaces squeakfan.com as my personal website. I'm using the same template as my other sites, so I will soon be getting a CGI put together to show ads for cool FS/OSS projects, rather than the Google ads that currently haunt it.

RST

RST has been moved over to the new site, and with it comes read-only anonymous access to the Subversion repository. I haven't touched the project in days, but will again soon.

I will likely recombine FL and FIT into one utility -- file listing and file information really are too tightly bound to make sense as separate utilities. Oh well, you never know 'til you try.

gnutizen: regarding web hosting

I host my domains on Textdrive. I love it. It has all of the characteristics you mention, and it's run by people who are actually active in the open source world. Check them out.

unixkb.com

Three hints in two days. Not bad, but I'm not sure it's sustainable. The most recent hint is about using OS X/Darwin's lookupd to run queries from the command line. Hopefully it will save someone some Googling.

RST

With the above being said, RST will soon support proper user/group lookups from FIT. I had a bit of a rant on my blog about the whole NetInfo situation, and this at least quells most of the anger.

I may still move forward with a pure-Ruby NetInfo interface, but don't count on it. With the recent announcement of a move away from PPC, I am much more likely to invest the effort in RST or other projects.

That being said, if anyone knows of a pure-Ruby NetInfo interface, please let me know.

Back into the swing of things

I commented to my partner last night about how it's nice to get back into the swing of development. She is an aspiring developer -- she wants to learn how to program, but is contemplating how she'd like to do it.

I think that would be the thing to make it complete for me -- to be able to teach her. I have no doubt she would ask questions that would shake my understanding of quite a few things. I need to be shaken to keep learning, or I get complacent.

ruby-talk

I joined the ruby-talk mailing list today, and am so far doing well under the heavier-than-normal load in my GMail mailbox. I have a minor nit about accidentally deleting entire threads when I have one message archived (and want to keep it, but not new messages in the thread), but I'll live.

Ruby and NetInfo

I can't seem to find a Ruby interface to NetInfo anywhere. At least nothing that's documented in English, and my Japanese sucks. This marks the start of another project, methinks -- RST needs such an interface for displaying information on file permissions.

10.3 is installing on the iBook as I write. Hopefully I'll be able to turn this into something worthy of RubyForge.

RST

Got a few more things done in RST, and another release is shaping up. Right now it's not terribly object-oriented, but I'm not at all sure that it should be. I need to read more about Ruby's treatment of classes and modules, and do some profiling and benchmarking to figure out which is the win speed-wise.

After some thought, I decided to specialise RST for human use, and not to make it particularly shell-script friendly. So far I have no input from anyone saying that is a good or bad thing, so if you have something to say about it, e-mail me.

Personal domain change-over

squeakfan.com is expiring soon, and I have decided not to renew it. Though I admire the Squeak project and the people working on it, I haven't done a lot with it myself in the past while, and have been working in Ruby instead.

I also wanted a domain name that is relatively language-neutral, given that I prefer to work in a variety of languages.

As usual, the new domain will be a week or so in coming -- the wonders of e-cheque through PayPal for you.

CGI in Ruby

One particular strength of Ruby for web work is its excellent CGI library. cgi.rb makes me very happy. I agree with the comments I've seen scattered about that argue that HTML generation should be decoupled from the library, but I love CGI#out -- it saves me from having to implement the simple templating engine I used to use for Perl CGIs.

I intend to make use of CGI in my new personal website. I have a few ideas that require it.

31 May 2005 (updated 1 Jun 2005 at 01:53 UTC) »
RST

So far, so good. No negative comments received, and there are actually subscribers to the Freshmeat entry.

whytheluckystiff: Thank you for the pointer to the un lib, for checking out RST, and for the compliment. Fortunately, I hadn't thought about implementing the functionality that the un lib provides in RST just yet, so they complement each other perfectly.

12 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!