1. 2009
    Jan
    31

    TCP pings in real life

    Here’s an interesting analogy for how traceroute -T works — in The Bourne Supremacy, Jason Bourne is trying to track down Pamela Landy by calling hotels at random and asking for her:

    1. Bourne calls hotel and asks for Pamela (TCP SYN)
    2. Hotel operator answers and says “Ein Moment, bitte” (TCP SYN,ACK)
    3. Bourne hangs up (TCP RST)

    And just like with traceroute (ideally), Landy never finds out that anyone is calling her.

    Okay, maybe that was silly, but it was kind of a cool realization while I was watching the movie.

  2. 2009
    Jan
    20

    CCleaner FTW!!!

    Windows has a serious lack of respect for a clean hard drive — it dumps little files (and big ones) in all sorts of obscure directories, and it can be very difficult to figure out where to clear up space when you need it. Vista’s built in Disk Cleanup tool isn’t sufficient, but I’ve found something which is.

  3. 2009
    Jan
    20

    Shine in The GIMP

    A lot of web pages offer instructions for creating shine effects in The GIMP, but here’s one easy procedure I didn’t find:

    1. Create whatever image you want to impose the shine on
    2. Create a new layer above the image and fill it with the shine color (usually white)
    3. Set the new layer’s opacity to 50-60%
    4. Add a layer mask, initialized to black (fully transparent) and select the mask for editing
    5. Select the region you want to include the shine
    6. Feather the selection by, say, 20-30px (newer versions of GIMP let you do this from the selection tool itself, by checking the “Feather Edges” box before you start selecting)
    7. Fill the selection with a gradient from black to white

    And you get something that looks like this:

    (and here’s the XCF source image)

    Bonus: the GIMP’s window icon for this image looks like the Death Star ;-)

  4. 2009
    Jan
    17

    Cosmetic changes

    Ellipsix has a new look! I’ve updated to a flashier blue-and-gold theme, with increased use of DHTML and AJAX (Javascript stuff that makes the pages more interactive i.e. cooler). This includes the new 0.5 alpha release of TextWriter, which you can help test on the new access page.

  5. 2009
    Jan
    10

    Extended attributes with find

    Extended attributes are a fun feature of the Linux filesystem (or rather, all the major Linux filesystems — ext2, ext3, reiser, xfs, etc.) that lets you associate arbitrary metadata with a file. find is, of course, a program that lets you find stuff. Files, specifically; you give it a bunch of criteria and it finds everything in a given directory that meets those criteria, and then does whatever you want with them. But oddly enough, find can’t find files based on their extended attributes. Why? I suspect a couple of reasons: (1) the behavior of find is specified by the POSIX standard, so the priority of the developers is to make sure they implement the features prescribed by POSIX correctly, and (2) extended attributes are an optional feature on filesystems; they have to be explicitly enabled when you’re compiling your kernel and again when you mount your filesystem if you want them to exist at all. A core utility like find can’t afford to include code for an optional feature that might b0rk things when the feature is not enabled.

    Thankfully, I don’t care about any of that. So I took a day off website design (that …

  6. 2008
    Dec
    28

    CSS content property in Firefox

    Here’s something I discovered today: the CSS content property can’t be applied to arbitrary elements in Firefox.

    Actually, what I probably should have been surprised to discover is that it can be applied to arbitrary elements in Konqueror. This is pretty useful in my case, namely for creating the “blog” text that appears with the blue/black background at the top-left corner of each post, but it doesn’t make a whole lot of sense in general. Normally the content of an HTML element is determined from the HTML page itself, and if the browser allows the content to also be set by the CSS, how do you resolve the conflict? If you use the content from the CSS, then you’re ignoring a chunk of the HTML source document, which doesn’t make sense, and if you use the content from the HTML, then you’re ignoring the CSS property, which means it might as well not be there. (As you might have guessed, Konqueror takes the former approach and Firefox takes the latter)

    The obvious question now is, what’s the proper behavior? I checked out the CSS 2.1 standard and in section 12.2 …