mach_port_t for inter-process communication mach_port_t for inter-process communication

Posted by jstrecker on 2011.01.14 @ 11:14

Filed under:

Mach ports are a way for processes to communicate in Mac OS X. (Other mechanisms for inter-process communication include distributed objects and sockets.) A mach port is an endpoint of a communication channel. If 2 processes hold endpoints to the same communication channel, then one process can send messages to the other.

Mac OS X provides wrappers around mach ports – NSMachPort and CFMachPort. But sometimes you have to drop down to the native mach_port_t API.

Don’t do this on whim. [more...]

Recovering From a Failed ZFS Root Mirror Disk Recovering From a Failed ZFS Root Mirror Disk

Posted by smokris on 2010.11.14 @ 17:13

Filed under:

Hypothetical. Say, for example, you’ve got a ZFS mirror on disk0 and disk1, from which your Nexenta system boots. A year or two later, disk0 crashes, and starts spewing messages such as the following:

 ahci: [ID 860969 kern.warning] WARNING: ahci0: ahci_port_reset port 0 the device hardware has been initialized and the power-up diagnostics failed

Shortly thereafter there’s a storm and the power goes out for several hours and drains your entire humongous UPS, and when the power finally comes back on, the system won’t boot — it stops at the grub prompt; issuing a standard boot command fails. [more...]

Please No More Animated Shorts on Environmentalism Thank You. Please No More Animated Shorts on Environmentalism Thank You.

Posted by smokris on 2010.04.27 @ 00:38

Filed under:

The Athens Film Festival 2010’s Animation Show played tonight and I watched it.

My personal perusal of the last two decades worth of SIGGRAPH reels squarely places the topic environmentalism as the most commonly-used central theme. (What’s the connection here?)

So, I’m tired of animated shorts on the topic of environmentalism and social responsibility. And I’m even tireder of mockumentaries. I’m therefore going to refrain from [more...]

A Tale of Two Chairs A Tale of Two Chairs

Posted by mradcliffe on 2010.02.13 @ 10:11

Filed under:

It was the best of products and it was the worst of products. It was a tale of one man trying to find an affordable chair.

Several years back I shopped at WalMart and bought a card table with four folding chairs for around $50. I was really disappointed because I didn’t think a card table would be worth more than $30 or so. This story however is not about the card table, but about chairs. [more...]

Release: Move Message To Sent Folder 1.2 Release: Move Message To Sent Folder 1.2

Posted by smokris on 2009.11.20 @ 13:00

Filed under:

Move to Sent Menu Screenshot

  • Works on Snow Leopard (with Mail.app running in either 32bit or 64bit).
  • After moving a message, automatically selects the following message (instead of selecting nothing).

Mailbundle attached.


Steve Mokris is a developer at Kosada, Inc.

electro-music 2009: the videos electro-music 2009: the videos

Posted by smokris on 2009.11.07 @ 13:08

Filed under:

now playing:

http://vimeo.com/channels/em2009

JFS on Linux = Surprisingly Lossy JFS on Linux = Surprisingly Lossy

Posted by smokris on 2009.03.08 @ 18:29

Filed under:

I set up a RAID media server a couple years ago, and decided to give JFS2 a try, since it’s touted as being fast and reliable across the spectrum of usecases. My setup is primarily write-once-read-many, for storing the terabytes of audio and video recordings I’ve made over the last decade for project ruori and the like.

Several weeks ago, the power went out for an extended period of time while I was away, and, while it was on UPS backup, it failed to shutdown cleanly and the power was suddenly cut when the UPS ran out.

When I brought the machine back up, the volume wouldn’t mount, so I ran jfs_fsck on it. jfs_fsck said that the journal was corrupt, and started block-scanning. It came up with a pretty big list of files and directories that were irrevocably corrupt. Parts of a few of them got linked into /lost+found, but the majority simply vanished.

Funny thing is, I hadn’t made any changes to these files in several years. I could understand if maybe some very recent FS updates were lost due to write-caching, but why did it lose track of these ancient files?

This reminds me of the rampant table corruption of MS-DOS’s FAT16 filesystem, which couldn’t keep track of a needle dancing on the point of a needle.

So, plus one for backups of backups, and minus one for JFS on Linux. I think I’ll be rebuilding the machine with ZFS-fuse. Or OpenSolaris, for that matter.


Steve Mokris is a developer at Kosada, Inc.

Drupalcon tidbits

Posted by bbinkovitz on 2009.03.07 @ 12:44

Filed under:

Cool things I learned about at Drupalcon DC include (but are not limited to) the following:

  • There is a Drupal 6 theme starter app whose maintainer is constantly improving it.
  • Usability studies have proven that I am not the only one who couldn’t figure out WTF to do with the welcome screen on my first Drupal install.
  • A lot of the modules that seem like they should be in core but probably won’t be in Drupal 7, are left out because Token is unlikely to be included and many of them rely on Token.

As usual, more coming…

DrupalCon 2009: First Impressions

Posted by bbinkovitz on 2009.03.05 @ 09:13

Filed under:

I can positively affirm that the free tee-shirts given out with DrupalCon 09 registration are quality. The medium size fits me perfectly and the cotton is nice and soft and thick. Overall very wearable. Caveat: they’re not pre-shrunk so they will shrink.

I have a lot of actually relevant info to post but that will have to wait. Topics will include:

  • Theming tips and best practices
  • Awesome stuff (eg. fields!) that will be built-in to Drupal 7
  • Awesome stuff that won’t be in core in Drupal 7, and why it won’t (Hint: if it depends on something that won’t make core, it can’t go in core either)
  • Some other stuff.

Overall it’s been enjoyable and packed with information so far. I only wish I could go to more sessions.

memset() vs. bzero() — Ultimate Showdown

Posted by cwright on 2009.01.14 @ 21:58

Filed under:

There are a few functions used to zero out memory on most unix variants. memset(), bzero(), and calloc() are all a few such functions. calloc() isn’t very useful for clearing already allocated memory, so it won’t be appearing much more in this article. However, the other two are somewhat more interesting than meets the eye. [more...]