| steps! |
[Jan. 12th, 2008|02:51 pm] |
iris walks! she was moving sideways across the floor on two feet while not holding anything. rebbyribs and i squeed, at which point iris sat down and gave us a very puzzled look. |
|
|
| iris, and darwin tweaks |
[Jan. 12th, 2008|11:43 am] |
i think iris might be starting to talk. the words are few, and the pronunciation odd enough that i'm never really sure, but i think i've been hearing "fish", "kitty", "guido" (one of the cats), and "no" used in more-or-less appropriate situations. rebbyribs is a bit more skeptical, but i'm sure iris will talk clearly and distinctly soon enough.
note: what follows is a discussion of scripts that modify your mac os x kernel. this is potentially very risky, as the kernel is what allows everything else to run. although i have made every attempt to ensure they are safe (and believe they are), i can't guarantee it or be held liable if things go wrong. in particular:
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHOR OR ANY OTHER CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
also, this morning's project was to get the mac os x/darwin console vt100 alternate character set support to work and (closely related) to customize the mac os x/darwin console color palette. the end result is a pair of shell scripts that seem to work, and a lot of scratching my head — why didn't they ⓐ ship with the VT100 positions filled in their font, or ⓑ provide a simpler interface for switching the font and color palette at runtime (using, say, escape sequences or a sysctl.) oh and ⓒ why does their console strip the eighth bit off of all output (despite the font [based on a design by zestyping] supporting the first 256 unicode/ucs code points), and finally ⓓ why don't the function keys work?
update: it's probably worth explaining a bit more here: ( background information on the mac os x/darwin console hacks ) |
|
|
| best typo i've seen recently |
[Jan. 2nd, 2008|10:05 pm] |
|
this is the best typo i've seen recently: "platronic ideal", in "Don't Proliferate; Transliterate!", on digital encoding of greek for scholarly purposes |
|
|
| firefox extensions i'm using |
[May. 1st, 2007|05:36 pm] |
i often feel chained to the firefox web browser due to reliance on some of the great add-on software available for it. this falls into three broad categories: ( enhanced browsing add-ons, development tools and security- and privacy-related add-ons. ) i also like the macfox theme, even on mac os x where it is not yet supported (some buttons do look wrong there.)
update: i use the Combine Stop/Reload buttons userstyle. i keep the platypus and web developer toolbars hidden during normal browsing, and i switch the web developer toolbar to show icons only, and move all its icons to the bookmarks toolbar. i also disable search suggestions, set all pages to open in tabs, and set the tab bar to always be shown.
update 2: macfox looks best with a rounded urlbar, in my opinion
update 3: on windows i also install ie tab so that microsoft's update service can be used from the comfort of firefox. i also disable or uninstall the various google-provided add-ons because they all seem to make firefox crash or misbehave. google toolbar and google browser sync misbehave by storing browsing details on google's central servers, and google photos screensaver breaks the firefox user interface (symptom: red caret of death.)
update 4: the camino theme for firefox looks nice on all platforms. on windows i also recommend IsAdmin to visually remind you when you are running the browser with administrative privileges (usually a bad thing, except when installing system updates.) this works well in conjunction with a tool like suDown which makes it easy to use administrative privileges only when they are needed.
update 5: the Text Shadow extension adds another missing part from css2, the Session Manager has some nice extras like encrypting your stored session, the Text size toolbar is handy for quickly zooming text, and the Link Widgets make it easy to navigate well-structured sites (of which there are surprisingly many.)
update 6: these days i disable the Firebug extension except while activily debugging, since it exposes some serious flaws in Firefox that lead to crashes on GMail and other sites. i've also been playing with betas of firefox 3 recently, and so in that version i switched from Adblock to Adblock Plus (with the huge ugly toolbar button disabled,) from Text size toolbar to Zoom toolbar, from CookieSafe to CS Lite, from MR Tech Local Install to MR Tech Toolkit, and (where available) use the new theme Proto for Mac OS X
update 7: oh, and anyone using Firefox 2 on a Mac should check out the Pinstripe theme too. it is beautiful.
update 8: It's All Text! makes it easy to use an external editor for text input fields. this is great for composing those long blog posts and webmail messages, and for reading the reams of fine print in some license agreement disasters.
update 9: Flagfox shows you where a page is coming from using a built-in geolocation database. it's not perfect and doesn't seem to cover ipv6 at all, but it does work for many sites.
(perhaps it's time for a new post, eh?) |
|
|
| γ and ν |
[Dec. 24th, 2006|11:04 am] |
thanks to fontforge and potrace, two fonts i drew many years ago are now available in vector form. the fonts are licensed under the gpl and i retain the copyright.
Update: They are now dual-licensed under ofl and gpl (with an embedding exclusion: embedding these fonts in a document does not force that document to be gpl'ed)

- Gamma is a fixed-width small-caps font seen previously in beta versions of VS Bomber (ttf · svg · sfd)

- GammaVariable is a variable-width version of Gamma (ttf · svg · sfd)

- NuFraktur is a fixed-width Fraktur-style font i've mentioned previously. (ttf · svg · sfd)

- NuFrakturVariable is a variable-width version of NuFraktur (ttf · svg · sfd)
|
|
|
| Iris |
[Nov. 29th, 2006|09:19 am] |
Iris was born yesterday around 7:30pm. She's a healthy baby girl — a medium sized (8lb7oz and 21in or so at birth) brunette — and loves to eat and sleep. rebbyribs and Iris are both doing well, and resting a lot. We hope to go home in a day or so! rebbyribs went into labor yesterday morning on her own and labored all the way to delivery (about 17 hours) without episiotomy or any sort of anaesthetic. She's happy now but quite tired, and I'm sure you'll see her less abbreviated version eventually… ;-)
We're at Alta Bates in Berkeley, room 4300. |
|
|
| fun with python's ctypes and unicodedata |
[Aug. 20th, 2006|11:37 pm] |
|
ucnhash is a python wrapper i wrote for the unicode names database in the python distribution. why write such a thing? well, unicodedata.name(x) only works for x <= u'\uffff' on narrow python builds (mac os x and win32 are built this way by default.) ucnhash.getname(x) works for all named characters in the database, and the corresponding ucnhash.getcode(x) can be used to write your own version of the \N{...} decoder in the 'unicode-escape' codec. both work equally well on narrow and wide python builds using the ctypes module to call into the ucnhash_CAPI exported by the unicodedata module. |
|
|
| ♀ |
[Jul. 27th, 2006|05:21 pm] |
rebbyribs and i just got back from her mid-pregnancy ultrasound, and it looks like we're expecting a baby girl in early december. squeeeee! |
|
|
| play |
[Jul. 10th, 2006|09:33 pm] |
after reading the wikipedia entry for gw-basic this weekend i was reminded of the play statement, which supports a mini-language for non-chording music. i remembered that a had a couple old tunes lying around that smws and i put together many years ago (he read the sheet music and played them on a trumpet, i encoded the notes he spoke and tweaked them for play.) this weekend i wrote a python play decoder that outputs either canonicalized play codes or cd-style audio which can be converted to a wave file using sox like so (this is the short example from the wikipedia page):
./play.py -e "edcdeee2dfedc4" | sox -t raw -w -s -c 2 -r 44100 - -t wav short.wav
here are the tunes:
- short
edcdeee2dfedc4
- cowboy
mb
ml
o3
t150
e8 g4 e8 g4 a4 e4 c2. p64 e8 g4 e8 g4 a4 d1 p64 e8 g4 e8 g4 a4 g4 f2 p64
c8 d8 e4 e4 p4 d4 c2. p4 e8 g4 e8 g4 a4 e4 c2. e8 d4 e8 g4 a4 d1 e8 g4 e8
d4 a4 g4 f2 c8 d8 e4 e4 p4 d4 c2. p4
- start
mb
mn
o4
t165
p8 c4. o3 g4 p4 f4. b2 f8 e8 c8 p4 g8 a8 g8 a8 o4 c3 c3 c3 p4
e8 f8 e8 f8 b3 b3 b3 b8 a8 a8 d4 e4. d4 c4 c4 c4
|
|
|
| fun with filevault |
[Jun. 24th, 2006|03:03 pm] |
|
i've been using apple's filevault on mac os x 10.4 for a while now, but i've noticed in the last several months that space is not actually reclaimed after i delete files, even when i tell filevault to reclaim it (it asks on logout). so i found the command-line equivalents and got back 40% of my hard disk this morning.
to do this you must have access to an admin account and either it must be a different account from the one with the filevault in question, or you must enable the text-input feature on the login screen. to get started, log out of your session and type the special >console username to get a text-based login. log into your admin account on the text console and run the following commands. i'll assume the account with the filevault is called user. the usual disclaimers apply — it worked for me, but always back up everything before touching a filesystem repair tool!
first, repair any damage to the image. enter passwords as prompted and note where the Apple_HFS device is; i assume /dev/disk1s2.
$ sudo hdiutil attach -nomount -stdinpass ~user/user.sparseimage
$ sudo fsck_hfs -yf /dev/disk1s2
$ sudo hdiutil detach /dev/disk1s2
second, compact the image to reclaim unused space.
$ sudo hdiutil compact -stdinpass ~user/user.sparseimage
log out, cross fingers, and log in normally as user. |
|
|
| binary vs. UTF-8, and why it need not matter |
[Apr. 2nd, 2006|07:37 pm] |
it turns out there's a way to handle UTF-8 and binary data intermixed at the same time in the same file that is simple, fully reversible, and fully compatible with all valid UTF-8 data (even the very uncommon and completely invalid CESU-8 mess used to cram UTF-16 into UTF-8 without proper decoding, although the invalid parts are handled as a sequence of binary data rather than valid characters.)
the basic technique comes from:
From: Markus Kuhn <Markus.Kuhn@...> Subject: Substituting malformed UTF-8 sequences in a decoder Date: Sun, 23 Jul 2000 22:44:35 +0100 Message-Id: <E13GJ5O-00064N-00@...>
the original text is archived at: http://mail.nl.linux.org/linux-utf8/2000-07/msg00040.html
summary: use U+DCyz to represent each invalid input byte 0xyz rather than treating these bytes as decoding errors.
so last year i implemented a version in python as part of tpd (see tpd/mainline/encodings/utf_8b.py)
today i re-implemented it in c as a patch against GNU libiconv: http://xent.com/~bsittler/libiconv-1.9.1-utf-8b.diff
Implementation Notes:
This implementation of UTF-8B produces no errors on decoding, but produces encoding errors for Unicode characters that cannot be round-tripped successfully. The supported Unicode range is the UTF-16 range:
U+0000 ... U+D7FF
and U+E000 ... U+10FFFF |
|
|
| |
[Apr. 1st, 2006|09:08 am] |
[|](|) (update: explained) |
|
|
| |
[Feb. 26th, 2006|11:13 pm] |
check out planarity — neat game treboresque pointed me to, incredibly addictive if a bit challenging. basic objective: re-arrange the nodes in a graph until it's planar. they keep getting bigger. ( screenshot ) |
|
|
| flavor of fermented bean curd ≈ flavor of my favorite stinky cheese |
[Jan. 7th, 2006|08:14 pm] |
i thought the deliciously sharp, creamy flavor of stinky cheese was something i was giving up when i stopped eating dairy products, but it turns out i was wrong — fermented bean curd (a.k.a. {wet,preserved,fermented} {tofu,bean curd} and by several different chinese and thai names) has those properties too. i bought a bottle of it today at the local supermarket and had some with rice. it was delicious! it comes in many varieties, which can be broadly classified into "red" (made with red rice and used primarily in cooking) and "white" (the type i got, which often includes various spices and is eaten "fresh" or cooked.)
now i just need to find a way to ration myself (the sodium content is insanely high!) |
|
|
| assault and batteries |
[Oct. 26th, 2005|04:15 pm] |
a while back i lost my wallet on bart, leading to random inconveniences of all sorts.
while returning to bart today after my first (failed) attempt to apply for a passport, a distraught-looking pedestrian approached me while screaming “fucking irish!” and then punched me on the arm. she then walked away as if nothing had happened. i'm not irish, for whatever that's worth... perhaps it was the red hair?
later, while on bart after my second (successful – thanks to rebbyribs!) attempt to apply for a passport, one of the teenage girls who sat down near me asked if i had any batteries. when i explained that the only battery i had was the one in my phone (i forgot about the tiny battery in the flashlight i carry on my keychain, but i'm guessing that wouldn't have worked any better for the cassette player they were using,) her friend told me what a tight phone it was. i tried to explain how badly the phone sucks, but they just smiled…
i also managed to lose the first set of passport photos i had taken, but got another for $15 at the post office. perhaps i'll be able to find the lost photos and turn them into “self-approved” i.d. cards to use when i next need a photo i.d. (the official replacement is a few weeks away in the mail.)
edit: i think this is the first hate crime i've been targeted by since moving to california |
|
|
| “Taste of hometown is sooo.... slow!” |
[Jun. 16th, 2005|12:37 pm] |
|
Trying new restaurants is always somewhat hit-or-miss. Here are two rebbyribs and I have tried recently: Supreme Vegan (Hit!) 906 Stanford/Market Oakland, CA 94608 510-655-0132This vegan soul food and seafood restaurant is quick and the food is delicious. The BBQ sandwich had the most convincing texture I’ve gnawed on since I stopped eating meat. The real surprises, though, were the side dishes: the rice with seaweed was tasty and filling, and the slaw ( rebbyribs’s choice) was excellent with the included tahini-based dressing. This place was a perfect lunch after a several-mile bike ride along the bay trail. Only real downsides when we were there: too much ketchup, and lack of some menu items, including the house special ginger drink. I look forward to returning to try the un-fish and un-chicken. Tapioca Express (Miss...) 9-B El Camino Real Millbrae, CA 94030 650-697-9500For several years I frequented this franchise’s downtown Mountain View location, which has the advantage of being quick, affordable, and near the Caltrain station. Unfortunately the other locations I’ve tried (Cupertino, Berkeley and Millbrae) are all far inferior. The Millbrae location was the biggest disappointment, since it’s in a great location about ten minutes from the BART/Caltrain station on foot (two blocks west, on the far side of El Camino Real.) The service is slow, the more attractive food items (and the cashier-suggested substitutes!) were all out of stock, and there’s pre-added sugar in every drink. Worse, the pearls in the milk tea tend to be incompletely rehydrated and are sometimes even still crunchy at the center. A simple tea and spring rolls order can easily take 25 minutes and then turn into tea and onion rings when they discover that they’re out of spring rolls. I won’t be going back. |
|
|