Older blog entries for lgerbarg (starting at number 41)

Well, I committed /dev/random into Darwin on a branch. I have also been doing some clean ups to the booter, BootX (not to be confused with LinuxPPC's BootX). If I get some time I may try to get BootX booting NetBSD kernel's it should not be that hard. I would also like to get LinuxPPC kernel's running on it, but LinuxPPC will probably require a new kernel entry point.

Now that I am finally finishing up with /dev/random merge I will probably limit myself to the booter changes for the time being, so that I can put enough time into INSC. I have bunch of other Darwin stuff I want to do, but given that INSC is Darwin related, and I have been hired by Apple, a slight break for a little while may be in order ;-)

The fact that sourceforge uses geocrawler for archiving, and geocrawler does not seem to want to archive our lists is annoying me.

Well, in an effort to finish up my last couple of credits at RPI, I am doing an independent study over the summer, attempting to implement an SCTP (RFC2960) stack for Mac OS X (and the rest of the BSDs). The prof is very cool, when I asked if I could do it as an opensource project he said I definately should. I think he feels that anything I lose in terms of writing code I will gain in project management, which would probably be more valuable for me at this stage. I have started a sourceforge project for it, called INSC for it, and even have started roping in a few people (rooneg and fuzzynerd). bey they don;t know what they are getting themselves into ;-)

The page is pretty barren now, I will probably start putting up some references for it later tonight or tomorrow. Also, the mailing list has only had one message so far ;-) Hopefully will be ready to begin RSN.

17 Apr 2001 (updated 18 Apr 2001 at 18:40 UTC) »

I have been quiet on a bunch of things recently. I have been hired by Apple Computer. I sent the following to the Darwin Development list a few minutes ago:

Some of you already know this. For most of you it is the first you have heard of it. Starting in July I will be working for Apple.

I suppose the most important element of this is how alters my relationship with Darwin. While I have been hired to work on OS X, I have not been hired to continue any of my Darwin work specifically. I will continue to work on the projects I have been involved with in my free time. I expect that the reduction in the amount of time I have available will be more than offset by the new resources at my disposal, both in terms of easy access to development hardware and software, and the fact that I will actually ne able go and pester various people in person ;-) In short I do not see it significantly altering things, and expect to maintain a similiar presence on the lists, and in the community.

Now I need to get back to coding...


I fixed some nasty races in Apple's serial driver last night. A lot of people were panicking when they tried to use ppp on an smp machine, so I deiced to take a look at it. People seem to be pretty happy with it, and actually don't personally have an smp machine to test it, so I will have to take their word for it. There are actually links to it on www.xlr8yourmac.com, and the OS X page of www.macfixit.com.

I made my first commit into Darwin today, in BootX. It is not actually in the external repository yet (I am not sure when anoncvs.opensource.apple.com syncs itself off of cvs.opensource.apple.com). It felt cool, now I just need to see if I a got the conventions they use for tagging right ;-)

Not much coding today, I have work to do, as well as watch the Get Smart Marathon. I have these really fond memories of Nick at Night doing this week long Get Smart event where they played something like 10 hours of Get Smart each night, and every night had a different theme. I must have been in 5 th or 6th grade, my parents told me a had to go to bad by 11 or 12 on a school (I don't recall exactly). I always stayed up reading anyway, but I remember sating up till about 3 or 4 each night that week watching Get Smart. Back them I could get by with 3 hours of sleep a night for a week at a time. Oh the joys of youth.

On the Darwin mailing list we get a lot of people eager to help, but who have no experience. I have started to assemble a page of useful references on OS design, particularly aimed at people interested in working on Darwin. Click here to check it out.

Well, /dev/random seems to be working now. I tracked down one crasher, and went to see why FreeBSD had not been effected by it. Turns out they were, and that a fix had been placed in the repository several hours before I had figured it out. I took their fix instead of mine, becuase I feel it is best to keep in synch where possible. Most of the changes I had to make are to make is SMP safe on ppc, some of the atomicity assumptions they make are not right for the platform, though should work just fine on Intel.

The wavelan card is now probing, attaching, and starting to activate the chips when it crashes. At first I thought I had my interrupts misconfigured... Now I am thinking I need to modify the accessor macros. What I really need to do is setup a two machine debug setup and poke the hardware enough to see what the heck it looks like under OS X (are the bridges doing endian swapping, etc). I think I coould hash it all between the code and my head, but poking is just so much simpler. Maybe this weekend. Once I get these two down I can get back to the elevator code, softupdates, and I have few other ideas ;-)

Oh boy. Mac OS X was released man I have been busy playing with it. Did three things this weekend, but I have not quite finished anyway:

Synched /dev/random with the new stuff Mark M. did in FreeBSD, and made changes for the New OS X. I am panicking, but even the old patch is panicking with new kernel, it appears they changed some of the mutex/locking code and it is fouling me up.

I almost have Ben H.'s port of the NstBSD wavelan driver working with real PCMCIA wavelan cards under OS X. I can match and probe fine, but I seem to panic on trying to get an IO window. It might be a bug in my code, though I don't if the IOPCCard16Device code has ever been tested, so it could be a bug in the driver superclass.

I made a bunch of changes to IOBlockStorageDriver. I should have a working elevator sort in it sometime soon. The allocation routines are a complete hack, and it is not doing any of Elevator optimizations, but those should be easy to fix once I get it working.

Anyway, I seem to have started a bunch of the things on my todo list hopefully I should be able to close out random and the intial wavelan port later this week, then I can work on the elevator code and maybe get back to softupdates.

New TODO list:

  • Resync Darwin /dev/random with FreeBSD /dev/random and Mac OS X 1.0 (Darwin 1.3) -- will do this weekend once I have OS X Release
  • Write disk elevator code for Darwin
  • Finish softupdates port for Darwin
  • Reverse the infrared protocol for my Casio watch and write something that can dump my phone book from OS X to it ;-)
  • Write a module for iTunes for my Archos 6000 (Someone wrote a playlist generator, I get the impression it uses winamp format playlists, it should not be too hard)
  • Figure out how to adapt Ben H.'s new AirportDriver to work with both internal Apple card and wavelan's under Mac OS X
  • Finish paper for MacHack
  • Oh yeah I have a silly real job thing as well
Clearly I have way to much to do, anyone else want to do some of it ;-)

Well, I am a Darwin Developer finally. Apple offered to make me one in December, but because of a lot complexities it did not happen until Feb 19th (the day afetr my 21st birthday ;-).

The details have not quite entirely worked themselves out (I have not gotten a chance to exchange my ssh key for CVS access, and my name is not up on the page yet), but it feels good.

I got teTeX up and running on OS X the other day. I was writing a paper in it, and got sick of scping it over to a solaris box. I will probably put the port on anoncvs.opensource.apple.com when I do get my cvs access working ;-)

Oh, I am presenting at MacHack. I really should make more frequent updates, they would be smaller.


32 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!