Log in

No account? Create an account
entries friends calendar profile My Website Previous Previous Next Next
Mark Atwood
I ate at 10pm, I shouldn't be this hungry. Maybe my body is trading food for sleep?

I've got 900ml of Diet Rock Star in me. It's not as "mentally smooth" as SugerFree RedBull, will have to remember that.

I've got the old "skeleton song" running thru my head, but instead of toe bones connecting to foot bones, it goes more like this:

/proc/sys/kernel/hotplug points to /sbin/hotplug
/sbin/hotplug calls /rst/bin/plugusb
/rst/bin/plugusb was compiled from apps/hotplug/usb/PlugUSB.c
which writes to named pipe /tmp/usbmgr
which is read by mr/bm/usb_bm/USBBussManager.cpp
that runs a thread of HotplugFunc
which creates a CUSBDevice
and event posts USBDeviceAttachedEventId
which is received by mr/dm/usb_dm/USBDMServer.cpp
in the thread fExternalDeviceNotifyThread
which event posts DeviceAttachedEventId
which is received by I dont know what yet

What a frikking mess of a pile of code...
3 comments or Leave a comment
wyckhurst From: wyckhurst Date: May 13th, 2004 03:18 pm (UTC) (Link)

Substituting food for sleep

I definitely fall into this trap. I see my kids doing it too. If we are out too late and they are so tired they can't see straight they will start asking for food when what they really want is sleep. It's a good motivator for me to get more sleep -- I won't have these cravings.
wendolen From: wendolen Date: May 13th, 2004 04:25 pm (UTC) (Link)
Bodies do trade food for sleep, actually.

Besides, 5.5 hours is usually plenty of time for me to burn through almost any meal. Are you sure you hadn't lost track of the time?
elfs From: elfs Date: May 13th, 2004 04:45 pm (UTC) (Link)

Oh, let's share!

Once upon a time, FreeBSD had this nice, nifty, automated mechanism for keeping the latest and greatest software packages up to date. It was called ports, which makes sense, since it included three things: a driver makefile, instructions on where to find the latest and greatest source code, and patches needed to make that code run on FreeBSD.

Then, someone had the idea that ports was somehow dangerous; that we could accidentally download a newer version than what we were using and that that would disrupt all of the toolchains that depended on that software. So instead of using ports we now went with the older but more solid contrib source tree.

But! SomeBrightSpark noticed that ports had all of the instructions needed to actually build the code, so the ports driver makefiles were modified, one by one, by hand, to be the dependency chain and to call back into the contrib tree using hideous "../../../contrib/foo" syntax.

Then SomeOtherBrightSpark noticed that we were building in-place and since our software is distributed on CompactFlash we could buy cheaper chips and save some space if we kept the source tree in one place, the build tree in another place, and the install tree in a third place, and all sorts of software that was never intended to be built this way needed to be build this way.

So when MyBrightSpark comes along to add a new package with static, dynamic, and interpreter dependencies, I have to add a new ports directory and manufacture a make tree, then modify my own source code to guarantee that it's being called properly.

And there is no way to test this in-situ. The only way to test it is to run the entire build-- a four-hour process-- because we're building an operating system, and so must supply our own /usr/include and pass --nostdinc to the compiler, and... oy!

What a mess.
3 comments or Leave a comment