tues 11:20 running fire: connects to irc server. However joining rooms doesn't work. I can get invited but when I join...its asif i created a new room. Perhaps fire is joining the room on another service? This is a problem even on chanels without a key. end 11:55 wed 3:00am -subscribed to e-mail list and started reading old archives. -checked out source code from cvs -tried to build a target with project builder, but it failed. I decided I needed to learn a bit more about projct builder and objective c first. end wed 4:00 wed 10:00 am -learing objctive c and project builder (gotta know my tools). end wed 11:00 am thurs 2:00 am -spent more time looking up objective c; -also found another but that is more interesting w/me. -it seems like when you use fire to connect to irc you can't create any chat rooms (that function seems to be only avaible for AIM). Since you can be invited to rooms, and joining and creating a room is just like being invited to a room except you supply the name, I thought this wouln't be soo hard to implement. end thurs 3:15 am mon 4:00 am d/led most recent fire build (was released yesterday) and checked out source from cvs. found a nice objective-c intro from apple http://developer.apple.com/techpubs/macosx/Cocoa/ObjectiveC/ (they better provide a nice one considering it's their main language) spent some more time looking around code...digging throught lots of files. end 6:30 am thurs 2:00 pm found the function that needs to be implemented in order for a new irc chat to be created. I used the interface builder to track down function calls. end thurs 2:30 thurs 1:00 am spent more time with interface builder....found out how I can link buttons/objects in the interface to functions in the source code. Which is what I need to know for fire to add a new menu object "Create Chat" and link it to the "joinChat" function end thrus 2:30 am fri 1:30 am messed around with apple examples for cocoa projects as well as one of my own. end 3:49 am sat 1:00 pm more reading on objective c. end 2:30 pm *********Switch************** It appears to me that the focus of my attention has shifted off of fire, and more into the objective c and macOSX aspects of this endevor. While pursuing these topics isn't fixing a bug in a open source project, I will aquire knowledge that will help me with that later (for OSX programs anyway). Also I feel that it is really good SE experience, because I'm learning how to use APIs and develop software in an enviornment completly different then I ever have before. I guess I would like to build my own OSX app rather then fixing a bug in fire, but we'll see if that will fly for this assignment. What i've been trying to do is work with cocoa apps. I've been working on making my own app as well as make changes to examples that apple provides with the developer tools. In terms of a new application, you can use project builder to create a template project that is linked to the cocoa and AppKit libraries and has a nib file. the nib file is the interface file to be edited with interface builder. An application will consist of classes that are all a sub class of NSObject, apple's superclass for all objects when writing an objective C cocoa app. My simple program will start off with an interface file this is where you define your super class which is as sub-class of NSObject, or usually one of its inheritance (i think i'll pick NSview). That goes a little something about this: @interface MyClass:NSview { data structures for the class; } //functions to be implemented or overloaded. -(int)foo:(int)bar; @end then I will need an implementation file where I define the functions as well as a constructor. @implementation MyClass +(id)new { //init stuff here } //implementation of functions here //as well as overriding of already implemented functions. - (int)foo:(int)bar { return bar*bar; } @end //sidenote (you may have noticed that the foo function was declared with a minus where as new was declared with a plus. In objective C class methods are declared with a minus sign, however "factory methods" are declared with a plus. I think the distinction here is that minus functions are applied to a specific instance of the class. And factory methods are general for a class.) you also always have a main.m file that as far as I can tell usually looks like this: #import int main(int argc, const char *argv[]) { return NSApplicationMain(argc, argv); } The next thing needed is a nib file. When you create a new cocoa project in projectBuilder a new nib is created for you will some initial menus (file,edit,help) as well as one blank window. -In my case, since I'm a subclassing NSView, within interface I have to choose NSView and pick "sub-class NSView", that subclass will be a link to the code I created. -Once that is done I have to design my window (or multiple windows depending on what your program is like), menu and anything else I want specific for my application. -In designing windows within interface builder you can do something like this: -To add a button to your app, drag the button into the window. -Then you can "connect" this button to a method from your view or other object that you've sub-calssed. -With the proper implementation it takes as little as 2 mins to add a slider-bar or color well to your application. **************myFirst**************************** I have created an cocoa native app clled myFirst. For now it's quite simple, drawing boxes. Initially it draws a red box and will re-draw that box where ever you click. If you SHIFT-click the box will be re-drawn with twice the height. Along with my NSView (which is the blue area in the window) there are two buttons, a slider and a color well. The button ON will draw a second box relative to the first. The unmarked button will hide the second box. The color well will pick the color for the first box. Where as the slider changes the size for the second box. As of right now that's all my app does. I will upload the app as well as the src to ~acinael/www/osd/ on the clients filesystem. ************My open source thoughts***************** One thing I learned (which I may have know already, but really sunk in now) is that any program I've written so far is really nothing compared to the size of most of the projects out there. This wasn't necessarly a bad discovery, but the shear size of projects sometimes can be overwhelming. Aside from that I found it interesting to look at other peoples code and think "would I have done it this way?" or "I've never seen this before, what does this do?". I would say that I plan to work on open source software project in the future, either out of interest of from some type of work. However I do expect that I will work on closed source software also, which isn't bad. While I do think OS software is great, and I plan on using, creating, and contributing to OS projects in the future, I don't think all software shoud be open source. I believe that if someone has spent a lot of time creating something, software in our case, if he wants to sell it that's his perogative, no one should be forced to give it away. Having said that I still think that in the future OS software will dominate for most application for three reasons. One, its free, you just can't beat that one. Two, the fact that it's customizable, or can be suited to any problem. Three, hopefully, they are likely to be more reliable then closed-source equivelents. end sun 5:29 am