Subscribe to RSS Subscribe to Comments

freesoftwhere.org

The OpenType in Open Source workshop at LGM 2015

This year at Libre Graphics Meeting, we held a workshop / discussion session about OpenType support in open-source graphics applications. I proposed the session, but really only to act as cheerleader.

OpenType features have been possible (and available) in fonts for well over a decade. But few if any applications make them easy to access and use. At the ATypI meeting in October 2014, type designers got so upset at how bad Adobe’s OpenType feature support is in things like Illustrator and InDesign that they actually started a petition in protest.  That raised a red flag with me, since open-source applications aren’t any better in this regard. So I proposed on the CREATE list that we get together and talk about it.

Turnout was excellent—we didn’t do a full headcount, but representatives from every large free-software graphics tool at LGM were there (and several of the smaller ones, too).  The meeting room was packed. That’s good news, because it indicates a lot of interest in getting proper OpenType support working and in coming up with implementation approaches that will feel consistent from app to app.

To be more specific (for anyone with the misfortune to stumble onto this post from outside), we were there to look at how application projects could add support for optional advanced OpenType features that the user should be allowed to switch on and off as desired.  That turns out to be a bit complicated.

A little background

OpenType features come in two general forms: look-up rules that change the positioning of one or more glyphs (which you’ll see called GPOS lookups), and rules that substitute glyphs for other glyphs (which would be GSUB lookups).  There is a big, public list of “tag” names that font developers can use to designate their various GSUB and GPOS rule sets with some semantic meaning.

For instance, replacing the “f” and “i” glyphs with the “fi” ligature glyph is a GSUB rule that is usually listed under the “standard ligatures” tag, ‘liga’.  Semantically, liga is supposed to be for ligature substitutions that are active by default.  In contrast, the “discretionary ligatures” tag ‘dlig’ is supposed to designate ligatures that are not required, but that the user might want to enable for decorative purposes.  A lot of historical fonts have a “Qu” ligature that would fall under this category, with the tail of the Q sweeping out way under the u.  Similarly, there are GPOS rule sets like “case-sensitive forms” or ‘case’ that are supposed to be always on: ‘case’ is meant to adjust the vertical position of punctuation like hyphens and parentheses so that they line up correctly for ALL CAPITAL TEXT instead of for lowercase.  Then there are GPOS rules that are optional, like “tabular numerals” or ‘tnum’—which shifts all numeric digits to make sure they line up in columns.

[Side note: there’s also a large set of these features that are defined specifically to enable shaping of complex scripts (like Arabic and Indic scripts), where the context of the letters and words requires a lot of flexibility for shape and placement when compared with scripts like European alphabets or CJK text.  Consensus was clear that these features are meant to be handled by the shaping engine, not the application, and the shaping engine is already doing a good job here.]

First tricky bit is, though, that what’s “supposed” to always be on and what’s supposed to be left up to the user as an option is kind of arbitrary.  The creators of OpenType don’t even agree.  Adobe has one list with such advice; Microsoft has another, and Adam Twardoch of FontLab has yet another.

Discussion and analysis

So we spent some time discussing the various types of OpenType features—at least those on the “official” lists of “registered” tags linked to just above. The question came up how often that list of registered feature tags gets expanded; the answer is evidently “not often.” Then we talked a lot about the different kinds of features and how they may be used.  Some of them a user might apply only to a few selected characters (even one); others would be desirable for whole blocks of text or documents.

But it’s not that simple.  An “default on” feature cannot be trusted to work flawlessly in every font and every situation, so the user needs some way to switch it off. And a contextual feature like “smart fractions” (‘frac’) might match some text pattern but actually be semantically different in the document. My example was when a user writes “I’m working 24/7″—that numeric sequence looks like a fraction, but in reality it isn’t one. [Note: part of the complication has to do with the fact that there are two slash-like Unicode characters, the ‘slash’ itself (U+002F, “SOLIDUS”) and the ‘fraction bar’ (U+2044). Usually only the ‘solidus’ slash is on the keyboard.]

We also looked at several UI proposals (1234567) related to OpenType features that had been previously published by others, just to see what the landscape looked like.  Here (as well as in all of the discussion about when and how a user might want to access a particular feature), we got a lot of good feedback from interaction designer Peter Sikking.  For starters, Peter pointed out that many of the UI suggestions’ complaints are more reactionary about what isn’t working right than they are carefully-considered interface rules, so they may be interesting, but are not work to copy.

Peter also pointed out that the application projects represented have very different needs: an interface that works for Scribus—which is text-centric and offers lots of typography features—would not work for GIMP, where the text tool is a less important component (and one that has far less screen real estate available to its user interface). The best we can hope to do, he said, is come up with some “best practices” that apply to different scenarios, and let each application project implement them on their own as best they can.

Someone (and I think it was Peter, but I’m not 100% sure this many days later; please let me know if it was you) then pointed out that a few of the features amount to typeface-wide choices that are often implemented (at present) in separate fonts.  The prime example is small caps, which is frequently available as an OpenType feature (‘smcp’) but even more frequently is pulled out into a separate font, e.g. “Foo Serif SC”.  Though less used, there is an italics feature tag, too (‘ital’).

Making matters worse, many applications also allow “fake” small caps and italics. The user, however, will likely not care whether small caps or italics are implemented as an OpenType feature or in separate font files; they just want to apply them as a text style. That both presents a UI issue and impacts implementations.

We also briefly discussed whether supporting OpenType features in text markup would affect file formats.  Generally speaking, everyone seemed to think this would not be a difficult problem. There was a general desire to implement something that follows the approach used by CSS.  It seems to be working well for users (and developers), so that looks good.

Among the other points raised:

  • Behdad Esfahbod pointed out that CSS feature support is frequently accessed with a simple slider option that turns features on and off without significant headaches or dependency problems. For example, contextual ligatures, historical ligatures, and discretionary ligatures are all just “ligatures.”  The users don’t care (nor need to know) which feature provides the ligature they want. Similarly, its irrelevant to users that the ‘frac’ feature has a hidden dependency on separate numerator and denominator features.
  • Some of the features, like stylistic sets and character variants, come not just with a set of GPOS/GSUB rules, but also a human-friendly name that is encoded into the font.  For example, a font that includes ornamental caps in a stylistic set might name that set “Ornaments”.  This name would be a string in the uiLabelNameId field within the font file; so the application will need a way to access that and expose it to the user.
  • There should probably be some way to specify an “on by default” set, since it seems to be expected, but also a way for the user to switch it off.
  • There should be controls for the common (and well-defined, publicly “registered”) features, but there should also be a fallback mechanism that allows the user or application to access any feature via the feature’s four-letter tag.

Where to now?

Looking forward, we settled on a few “next action” items. For starters, we are going to try and coordinate our future discussions through the CREATE mailing list, which was invented to be a home for just this sort of collaboration.

Regarding the UI and UX questions, Peter agreed to work on developing what will eventually form the “best practices” and related recommendations for different applications.  The first step, however, is to spend some time talking with typographers and other graphic-designer-like users (who care about OpenType feature support) to study their processes and expectations.  This sort of process is what Peter does professionally; he most recently has been undertaking a similar systematic approach to interaction development with the Metapolator project (which he gave a talk on at LGM).  I mention this to explain that there are several steps between getting started and actually seeing prototypes, much less full-blown recommendations.

Regarding the lower-level plumbing layer: Fontconfig already catches the presence of OpenType feature tables when it indexes a font.  To get access to such a feature, though, the shaping engine (i.e., the software library that takes Unicode text characters, looks them up in the active font, and returns the right glyphs) also needs a way to report the presence of OpenType features, and a way for applications to request that the feature be turned on or turned off.  HarfBuzz is the shaping engine used by almost all free-software tools, and Behdad agreed to take on adding the necessary functions and API calls.

Moving one level up, some applications use HarfBuzz directly, but a lot of applications (including GIMP and Inkscape) use an intermediate text-layout library called Pango.  So Pango will also need hooks for OpenType features.  Behdad indicated that he is on top of this feature request as well.

Application projects, at the moment, do not have a lot that they need to do.  However, since the eventual ‘best practices’ are going to require using HarfBuzz, any application project that has been considering porting its text handling to HarfBuzz would save a lot of trouble later by getting started on that project now.  Earlier in the week, we held a HarfBuzz documentation sprint to develop a “porting manual” so to speak.  It isn’t quite finished yet, but the core example is there and will hopefully prove useful.

The exception to the above is that FontForge may need some work to support access to all of the OpenType features that may be exposed to the applications. The eventual plan was that FontForge (or other font editors) ought to provide a way to test features that somewhat resembles how feature usage is implemented in applications, but getting there may require some groundwork in advance.  The same may also be true for apps like GNOME Characters or the KDE and GNOME font managers, but I don’t think those developers were on hand at LGM.

Similarly, the thinking was that Fontconfig may also require some tweaking in order to allow testing of OpenType features.  During the smallcaps discussion mentioned above, Behdad noted that Fontconfig already lets the user define, in essence, “virtual fonts” that are simply fonts.conf references to existing fonts but with different OpenType features switched on or off.  A quick test revealed that this feature works to a degree, but has some bugs that need attention.  Here again, though, Behdad said he’s happy to take them on.

There were also open questions about real-world font implementations of several features. Google Web Fonts and Open Font Library, unfortunately, don’t index which fonts have these features. I agreed to do some research here.

We may also need to gather some good test cases: fonts with a variety of features implemented, and perhaps fonts that we will add features to (e.g., ‘ital’, which seems pretty rare).  If you’d like to help me that, get in touch, of course.

As for a web presence, I have tentatively set up a GitHub organization to use—at this point, primarily for the wiki and progress-tracking functionality.  You can find it at https://github.com/opensource-opentype … you may need to request membership if you want to contribute, although I’m new to “organizations” so bear with me if I have the details a bit off.  We’ll see.

Onward and openward!

For everyone else: if you want to keep up with the discussion, you can follow (or join) the CREATE mailing list. You can also take a look at the Etherpad notes from the session, although I cannot guarantee that they’re free of typos.  If you find any … someone else made those.

More will surely come. If you work on open fonts—or if you use or develop free software—I hope you’ll stayed tuned or even get involved.

Linux and the Automotive Security Lab

Attached are the slides from my talk at the Fall 2013 Automotive Linux Summit. My session was entitled “Linux and the Automotive Security Lab,” and it was a survey of all of the security research that I’m aware of that dealt with actual cars—as opposed to theory.

Not that there’s anything wrong with theory in my book, mind you, but there are only so many times you can read “CAN bus lacks sender authentication and payload encryption” before your eyes glaze over.  It does, and that means that there are a lot of places where it needs major changes.  So many, in fact, that I referred to it in my talk as “Theseus’s ship.”  According to Plutarch, the museum of state relics in Athens included a ship used by Theseus in some daring adventure or other, and the Athenians took such good care of it that they replaced a part whenever it wore out … so much so that by Plutarch’s time, the Athenians had replaced every part, which led some of them even then to ask whether the museum still had Theseus’s ship at all.  The point is, if you need to replace all of CAN bus’s constituent parts to make it usable, you’d might as well just use something else to begin with.

But that’s kind of beside the point, since that’s a hypothetical.  In reality, as the research linked to here shows, there are a giant heaping metric Athenian boat-load of attacks that can be waged against existing cars right now.  Looking at some of them should give developers pause.  Because yes, CAN bus can be used to mount all manner of attacks—but there are a lot inroads into the vehicle that have nothing to do with vehicular network protocols at all.  Some are freshmen-level security programming mistakes, others are systemic flaws inherent to multi-sourced component supply chains, and some are just weird.

I probably ought to publish my speaker notes, too, but one thing at a time.  I hope the slides will be a good reference and starting point for anyone interested in reading more about IVI and automotive computing security.  And if you see any papers or presentations that I’ve missed, please, drop me a line; I’ll happily add them to the list.

ALS2013: Linux and the Automotive Security Lab

Big List of NGO & Public-Good open project feeds

Here’s a list of news feeds I’m following that fall into what I generally call the NGO/public-good/nonprofit space.  Essentially, that means open source / open data efforts that cover education, medicine, humanitarian needs, civic involvement, and just a whole bunch of other things that don’t revolve around sales, software engineering itself, or Internet infrastructure.  They’re only partially sorted.

Did I leave any off? Send me an email, or post a comment, if the robot-filter is feeling friendly today.

It seems like there ought to be more, but for some reason a lot of the groups that are active in this space FAIL dramatically at RSS.  Take Open Source Ecology (http://opensourceecology.org/), for example.  They do some amazing stuff with construction and tooling for economically-struggling communities. You’d think they’d want to publish their news, but their “blog” page (*their* name for it, mind you) has no RSS or Atom feed of any kind.

Don’t believe me? Check it out: http://opensourceecology.org/blog.php

I’d suggest you write to them and say “hey, I’d really like to follow your organization, but your news site offers me no way to do that. What gives?” Except that I’ve already done that, and they didn’t even reply, much less fix the site.  On the plus side, the Freedom Of The Press Foundation was in exactly the same situation up until a few days ago (well, the same except for the added irony); when I notified them via Twitter, they also did not reply, but they did silently fix their site.

Anyway, I hope you’ll find some interesting sites and projects on this list.  I may re-post to add to it later if I get a significant chunk of new feeds.  But it’s a refreshing set of content to browse through, since all of it is focused on helping people, one way or another.

[ed. note: I did try making this available as a “Google Reader bundle” which is a new feature, but sharing it is tightly bound to keeping it inside of Google Reader itself, which kills most of the value]

GUADEC a Galicia

Flaunting some Olympic-caliber procrastination, I’d now like to provide a brief recap of my visit to A Coruña, Spain for GUADEC 2012, at the end of July.  GUADEC is an annual conference for GNOME developers and users; I definitely fall into the latter category, but I was somehow lucky enough to still con the GNOME Foundation into providing travel assistance so I could be there and give a talk about font development and font repair.  But more about that in a separate post.

For starters, if you don’t feel like reading any further, I’d have to say that the conference was great by any measure.  As a journalist, I spend a lot of time in touch with open source developers but I’m hardly “in” any projects—and certainly not any large & organized ones like GNOME.  So it’s always both eye-opening and entertaining to get to spend a lot of time around developers who are there to develop, and who believe in what they are doing.  In GNOME’s case, this happens to be the 15th anniversary of the project, so they’ve been “doing” for quite a long time.

The program by the sea

I arrived early, on Monday evening, because I needed to keep a regular writing and editing schedule for my work with LWN, which publishes on Wednesday evenings.  I’ve attempted to go to events where I’m en route on a Tuesday, and it just doesn’t work.  The first half of the week, there were no talks, but there were plenty of GNOME people around: there were Foundation meetings, hackathons, and various other cabals, many situated at the local Igalia offices.  The sessions themselves lasted from Thursday through Sunday—and by that, I almost mean literally.  They started early and they ran late.  Which it turns out is perfectly practical, since restaurants in the area don’t even open until 8:30pm.  I have no idea what else you would do between 6:00pm and then, although the hotel (which was situated under a cliff in the mountains) did have an espresso bar (1 euro; I have no idea what that is in regular money, but it certainly beats instant coffee).

Over the course of the session days, I went to every talk I could get to, barring the two morning sessions I had to skip in order to file paperwork reporting that I had a camera lens stolen from my checked luggage on the flight in (in case you were wondering, it was on American, with the final leg handled by their oneworld partner Iberian, and both have been precisely as helpful as you would expect a giant faceless corporation to be. Meaning they appear to be making no effort to even investigate, and they only contact you via emails with no-reply-accepted return addresses.  So kids, if you’re going to pursue a career in crime, it sounds like baggage theft is the way to go—no risk of getting caught.  But I digress….).

Anyway, there were a lot of talks about new, weird, and unexpected projects, including Colin Walters’ OSTree (which is akin to a mashup of Git, OBS, overlayfs, and a package manager), SkelTrack (which is a framework for identifying the person in a Kinect-style depth image), and Dawati (which is a usability testing tool that records webcam video and desktop screencasts, then combines them into one video stream for analysis).  There were also lots of talks about new and improved GNOME components like Boxes, Folks, and GOA, and a large swath of design and interaction talks—nine or ten of which seemed to be given by Allan Day.  Seriously; I’m pretty sure there was one slot where he was giving two talks at the same time, in different rooms.

One build to rule them all!  Or, not

The other interesting bit was the repeated discussions surrounding the “GNOME OS” concept.  This is something that has come up many times before and is often either mischaracterized or is conflated with other, unrelated concerns.  The gist of it is that GNOME is currently 100% dependent on downstream distributions for delivering its software to users.  That is to say, whenever there is a GNOME Release … nobody downloads it.  Or installs it.  And that’s because they can’t, because they depend on their distro’s package management system for their GNOME environment (and which it would be a bad idea to break).  Trouble is, this means virtually no one tests GNOME releases, and the project gets no bug reports for ~six months (at which point the release hits downstream distros).  Plus, what bug reports they do get are always difficult to triage, since the distributions (essentially Fedora, Ubuntu, Debian, and openSUSE) all make their own adjustments and roll their own packages).  So GNOME is harder to debug, and thus is harder to maintain.

The proposed solution is to roll up each new release with an installable, runnable OS image.  So a GNOME release would be a bootable ISO image that someone—though not everyone—can install and try out, perhaps even use, rather than a set of meta-packages that will gradually trickle down to the neighborhood package repository.  Another side effect of this scheme would be that tablet and gadget makers could take the base image and use it as a “known platform” to build an embedded project on, which GNOME would like.  Though new, this binary, ROM-like release would not be the only way to get GNOME; distributions and source-compilation-fetishists would still be getting, building, and distributing ye olde traditional GNOME packages, too.

What this concept is not is GNOME wanting to cast off the chains of the distributions, give the finger to BSD, and try to maintain its own Linux distribution.  It should be clear that that would not work anyway (given the cost and personnel required), but people seem to think that about it anyway.  Partly this is speakers’ fault; in the first GUADEC talk that brought up the idea the Igalia speaker actually said “distribution” multiple times; if you were in the audience you would think he meant running a distro, too.  So some clearer messaging would help a ton here.  Perhaps even calling it GNOME ISO or GNOME Live, rather than GNOME OS.

The confusion is also partly due to unhappy users getting the proposal conflated with other criticisms about how GNOME is developed.  In recent years, a fair number of people feel like GNOME module maintainers at Red Hat are trying to encroach onto other parts of the OS stack—such as the init process—and are adding hard dependencies on either Linux-only subsystems or on Red Hat products.  This is pretty visible with Ubuntu, for example, which uses almost all of the GNOME stack, except for GNOME Shell.  But historically GNOME has not mandated things like the init system or the compositor/window manager, so replacing the Shell with Unity would be No Big Whoop.  If such components were to become hard requirements, however, that would further separate Ubuntu from the vanilla GNOME platform—and it would do so essentially by a module maintainer’s fiat.  That, naturally, aggravates people, and when they’re aggravated, they aggravate GNOME people in response, ad infinitum.

However::: I’m not going to discuss that, because that is not at all what the GNOME OS proposal is about.  As I said above.  That is an unrelated set of development and technical-goal-setting issues that GNOME, Ubuntu, and Red Hat need to work out somehow.  Wilderness retreat or whatever.  There were also a few discussions during the week about whether GNOME needs a Technical Board, which sounds like a good idea for other reasons, and might help here, too.  In any event, the GNOME OS idea is designed to make GNOME releases easier to test & provide feedback on, which is 100% in the good-things column.

Music cue

Anyway.  Back on track, the word count line at the bottom of this WYSIWYG form is telling me I just passed 60,000 words on this post, so I’m going to try to wrap it up.

All in all, I know how corny it sounds, but the best thing about my week at GUADEC was definitely meeting the people.  Multiple times over the week, I met someone, had a moment of mutual where-do-I-know-that-name-from contemplation, and then we realized I had emailed them and written something about their project.  And a lot of them said thanks, which doesn’t happen to me a lot.  That’s not because I usually write scathing personal attacks or anything, but simply because I usually write form home and not in an office with the people that I interact with.  So it was a blast to get to know them in person, since I genuinely like what they do.  Into this category I would put Eduardo Lima, who develops the awesome-and-under-the-radar file transport tool FileTea (and who generously put up with my lame questions about Cuba), Joaquim Rocha, who makes the excellent OCRFeeder (in addition to SkelTrack mentioned earlier), and Joanmarie Diggs, who does all the heavy-lifting on accessibility work (and has some good stories to tell about EU immigration law…).

I also met a lot of great people that I had never talked to even via email before GUADEC, including the Yorba team of Adam Dingle and Jim Nelson (whose Geary application I had reviewed, but without discussing it with them, and who are both way ahead of everybody else when it comes to thinking about funding open source software development, and about eating pulpo), testing guru Spider (who put up with my questions about home automation), and of course the GNOME power couple Jonathan Blandford and Rosanna Yuen (or power trio, if you also count Jonathan’s beard).  One of my great surprises was to discover that not only is Jonathan the author of the solitaire app AisleRiot (yeah, I don’t read a lot of “About” screens…), but that he also shares an interest in unusual card games, and secretly built in Aisleriot support for decks of cards with five or more suits—which happens to be a weird hobby of mine.  One of my great regrets about the week is that I had to leave at crack-early on Monday morning, so I had to miss out on playing a bizarre card game of Jonathan’s.  But that’s on the agenda for next time.  As luck would have it, my own talk was scheduled at the exact same time as the talk absolutely everyone most wanted to hear, Owen Taylor’s session on smooth animations.  In fact I considered skipping my own talk to hear it, but ultimately I couldn’t find Taylor’s room.  Subsequently, Jonathan tracked Owen down and did some sort of arm-twisting (behind closed doors, obviously) so that Owen agreed to meet me at lunchtime and essentially recap the talk and show me the demos.  I’m still writing it up for LWN.

It was also good to see folks that I bump into more regularly, like Garrett LeSage and Jakub Steiner, who are both regulars at Libre Graphics Meeting, Guy Lunardi, who I think knows everyone in the software business (and not just open source, either), and Karen Sandler who has always been exceptionally helpful with my press requests (and, I discovered, whose husband Mike is one of those guys who can have conversations about both the Beach Boys and about BIOS).  There are clearly a ton of other people that I enjoyed getting to meet at GUADEC 2012, including a lot of Igalia folks, but the bulk of them I need to save for my follow-up post, which will deal with my font talk—and what came out of it.

What it’s like to use Linux sometimes

A radio play in one act. For two performers.

COMPUTER: Hello, user! Your wireless card isn’t going to work today.
USER: What?? Why not? It worked yesterday. In fact, it worked all last week.
COMPUTER: Tough. Today it won’t.
USER: Well, you can’t trick me. I haven’t touched the configuration since the last time I logged in; everything will be fine.
COMPUTER: No, it won’t. I’ll connect to your AP, but all of your DNS lookups will time out.
USER: Ha! I’ve got you! I’ll change the DNS settings so that the queries are directed to my other box.
COMPUTER: No you won’t. The network settings are hidden.
USER: They aren’t hidden; I’ve done this before, when I set up a DNS server on my other box and my router to handle local hostnames.
COMPUTER: That doesn’t matter. Every six months, all of the system admin tools are changed and replaced by your distribution. Whatever you learned last time is of no value.
USER: Pfft. I’ll still find it.
COMPUTER: You can try, but the names of the applications have changed too. Plus, the desktop environment you use has been revised twice, so none of the system admin apps are available in any menus.
USER: So? I’ll search for them. I guess that’s what I’m supposed to do.
COMPUTER: You can try, but you won’t guess the names. And the descriptions of the apps are not indexed by the search tool back-end.
USER: Now you’re just lying; I’ve read in blog post after blog post that the search framework indexes the descriptions of the applications.  I think I even heard it in a talk.
COMPUTER: Knock yourself out, then.
USER: Dammit! What the hell did they describe this thing as?? I’ve tried “network,” “connection,” and “settings” — all it finds is a VPN setup tool and something to configure Twitter accounts! I’m running out of synonyms.
COMPUTER: Don’t feel bad; the app you’re thinking of probably isn’t installed by default anyway.
USER: That’s absurd; of course the system admin apps are installed…. Right? And if it’s not, I’ll install it.
COMPUTER: From where?
USER: Gar.  Wait a second; I don’t need to mess with that anyway — I’ll edit /etc/resolv.conf
COMPUTER: Won’t help; you’re using DHCP.
USER: Well, I’ll just edit the DHCP settings…
COMPUTER: In what, the network admin tool?
USER: Dammit! No, no; can’t get out of control — I’ll edit the DHCP configuration files by hand. Let’s see … there appear to be two of them, in /etc/dhcp/ and /etc/dhcp3/ … I wonder which one is the right one?
COMPUTER: You should probably look that up.
USER: Ah; good idea. Let’s open Googl — Dammit!! Not funny!!
COMPUTER: Okay, that was a low blow. But you were getting ahead of yourself.
USER: Well, it backfired anyway. I just realized I don’t *need* DNS at all; I can look up all of the IP addresses I want to visit on one of my other PCs, then enter them by number in the location bar.
COMPUTER: Actually, you can’t. All this time, you assumed we were having a DNS problem, but in fact all of your traffic is going to time out, even if you enter the addresses by number.
USER: That’s ludicrous. Clearly that indicates a connectivity problem; I’ll log in to the router.
COMPUTER: Heh heh; good luck.
USER: Who needs luck? It’s six feet away, and I’m already connected to it. I can type in 192.168.1.1 and bring up the admin interface … any moment now … oh come on, hurry up … Dammit!!! What the hell is going on here?
COMPUTER: I can’t divulge that.
USER: Well it must be a hardware problem. Everything has been working fine for weeks, I haven’t touched the software or altered the configuration, and it isn’t on the router’s side.
COMPUTER: That’s a possibility; you should check to see if there are known issues related to this.
USER: Okay; I will, from by other box…. Well, my distribution has nothing similar sounding in the issue tracker, and everyone on the forum says it’s probably the DE at fault…. Although everyone on the DE mailing list says my distro changes some of the defaults, so they don’t support it. Unless it’s the browser…. But the browser forum says I’m eleven versions out of date, since they now issue “mandatory” updates every three days; what I’m running through my distro is “unsupported.” And I could download an update and install it manually over the distribution’s repository package, but then they wouldn’t support me if it turned out not to be the browser’s fault … plus I can’t download it anyway, since I have no connectivity. But I’m not sure that helps anyway. Clearly something was working fine yesterday and isn’t today. If it’s not hardware there’s very little else it could be. Apparently everybody in the kernel driver community hates this WiFi chip because of some dust-up in 2007, but I can’t really apply what they say about it on the mailing lists, because they’re all running a development kernel on some distribution that I think they seem to have written from scratch. But it doesn’t matter: it’s hardware; I can verify that by booting into OS X on the other partition.
[ -REBOOT- ]
COMPUTER: Welcome to OS X; everything is running normally.
USER: Dammit. Maybe if I just use OS X for a few days, the problem will go away again all on it’s own.

Next Page »

Based on FluidityTheme Redesigned by Kaushal Sheth