Secret Apple computer revealed!

Well…in 1984, that is. The Mercury News has re-printed an article from 1984 heralding the release of Apple’s then-unknown new Macintosh computer.

After two years of secrecy, brainstorming and sometimes zany company maneuvering, Apple Computer Inc. will unveil a new personal computer Jan. 24 that is the size of a stack of paper and, for about the same price, contains more power than the basic IBM PC.

Known as the Macintosh and considered by analysts to be critical the the future of the company, the machine already is winning rave reviews from the dealers, software developers and industry analysts for its compactness and ease of use.

The machine, which sources way will sell for \$2,495, is designed to catch the fancy of the college students, small businessmen and the American consumer who wants to have ``fun” with a computer. It is priced between the less expensive Apple IIe and the more expensive Lisa.

(via MacRumors)

Pictures from Mars

Very cool webpage automatically collecting and displaying the newest images from Mars.

This web page contains imagery from the Spirit Mars Exploration Rover on the surface of Mars. It is gathered from the raw imagery on the JPL site.

Technical data (filter, instrument type, acquisition time) is captured from the image filename and available. Also, stereo anaglyphs are automatically made from images that were taken in stereo at regular intervals. When appropriate filters were used, color images and thumbnails are created as well.

And even better, it comes with an RSS feed for newsreader users.

(via /.)

Changing my habits

NetNewsWire grouped

As sloppy as my apartment can get (and believe me, it can get quite sloppy — though it’s usually just “extremely cluttered” as opposed to “disgustingly messy”, a small but important difference), I tend to be extremely organized in many other areas of my life. My occasional rants about metadata and .mp3 tags have probably clued a few people in to this aspect of my personality. I also tend to keep my movies, books, and music alphabetized, files on my computers all in their appropriate places, and so on. Heck, part of my drive to ensure that my web pages validate as clean, standards-compliant code stems from this innate desire for simple categorization and the ability to find things quickly.

To that end, since I started using NetNewsWire to keep up with the various weblogs and news sites that I like to read, I’ve used its grouping function to assign each RSS feed to a specific category — technology, macintosh, personal, and so on.

About a month ago, Rand was asking about RSS reading habits, and after a bit of thought prompted by his post, I’ve been wondering for a bit if this categorization is really the best approach for me to take. As my list of subscribed feeds grows (currently hovering right around 100 or so, give or take a few I’m reading on a trial basis — nowhere near Scoble’s 600+, but still fairly respectable), I’m finding it harder and harder to get through all my feeds on a regular basis. I’ve been doing very well at keeping up with sites that were in the groups at the top of the list (usually Personal and Macintosh), but not so well with groups towards the bottom (usually Links and Political). If I get bored, hungry, or distracted during my reading, the ones at the bottom get fairly regularly neglected.

NetNewsWire ungrouped

So, starting tonight, I’m going to try to vary my reading habits a bit to see what that does. I’ve deleted all the groups I was using before, and instead have all the feeds listed in more-or-less alphabetical order, top to bottom in a single group, ordered by date posted. While the amount of information doesn’t really change, the presentation is different enough that it might make a difference in what I find on any given day. I know I’ve missed a few breaking stories over the past few weeks, especially in the political arena, simply because I wasn’t getting far enough through my reading to see them until they’d already been blogged to death by everyone else on the ‘net.

I’m hoping that this little adjustment will be enough to help me keep up with everything a little bit better. No way to know until I try, of course.

iTunes: “She Cries Your Name” by Orton, Beth from the album Who Will Be Big In ’98? (1997, 4:47).

Hey!

Hey!

On its face, that expression is neither offensive nor disturbing. “Hey!” is an informal way to say hello. It indicates kindness, simple courtesy and an economy of words.

But a 13-year-old boy at Richland Middle School in Richland Hills was suspended for three days in December because he sent that simple message to every computer in the school using an archaic form of instant messaging. The software was created years ago in the old disk operating system used in earlier versions of personal computers.

This story has been making the rounds on the ‘net for the past few days (see MetaFilter, /.). It’s got all the hallmarks of something bound to catch the interest of a lot of geeks: a kid exploring and discovering how his computer actually works beyond simple point-and-clicking, an innocent mistake when demonstrating capabilities to friends, and an overbearing school administration. It might not have raised as much of a ruckus as it did, except that in the course of writing his article about the events, the columnist received an e-mail from one of the school administrators involved in the incident questioning the right of anyone not involved directly in the school system to criticize teaching and discipline techniques.

Too often, people who do not know the real world of public education feel that they are the ‘experts’ who have all the solutions and that their opinions are as valuable as those who live in this world daily.

I invite you, parents, our state representatives, and anyone else that thinks they know how a teacher or a district should react to ANY situation to come live with us for a while — be a substitute teacher for a few weeks and learn the real world of public education.

…more troubling is the notion that Sweeney does not believe that the rest of us have any right to question the decisions made by public educators.

Remember, we pay the salaries of the teachers and staff. We buy the computers. We pay for the buildings in which they are used. As long as public school is public, the Beverly Sweeneys of the world need to know that it is our right and duty to look over their shoulders and question what they do.

In this case, the punishment of Carl Grimmer was overkill, but the response of the school’s computer liaison shows that public education really does demand greater oversight from us outsiders, certainly not less.

Many of the discussions spurred by this event and the various responses from the people involved have been very interesting to read. It turns out that the kid and his parents have put up a page detailing their view of the events and the responses to them. It’s an entertaining read — everyone (except the school) seems to be handling everything quite reasonably.

iTunes: “Go” by Moby from the album Hackers 2 (1997, 3:59).

Bandwidth

Confidential to T-Mobile: NASA is downloading 36 MB TIFFs from Mars and I only get 2 bars of signal on my cell phone inside my house. Please look into upgrading.

stevenf, via BoingBoing (who also point out an incredible full-screen Quicktime VR of Mars from the Spirit rover)

iTunes: “Djvd” by Nitzer Ebb from the album Ebbhead (1991, 4:20).

Apple gaining ground in enterprise markets

It’s so nice to live in a time when every news article about Apple doesn’t involve some form of doom and gloom predictions. Not only have the “Apple is doomed” proclamations died down, things just keep getting better — even in markets historically far outside of Apple’s domain.

What’s stunning isn’t that Apple Computer Inc.’s engineers can, say, design a server with two 2-GHz G5 processors, 1GB of memory, storage capacity of 80 to 750GB and loads of other goodies all in a slim 1U package (a mere 1.75-in. thick). No, what’s stunning is that Apple’s marketers will price the Xserve system at \$3,999. That makes the long-reputed price-gouging Macintosh maker the price leader for dual-CPU servers by a couple of bucks. But when you add in Windows per-client pricing, the savings become huge. Apple sells its systemswith no per-client fees for Mac OS X. In contrast, a 25-user enterprise license for Windows adds \$2,495 to the price of a dual-processor PowerEdge 1750 server from Dell Inc.

(via MacSlash)

iTunes: “God Part II” by U2 from the album Rattle and Hum (1988, 3:15).

JavaScript toggle code

I’m just saving this for myself for future design possibilities… The script that goes in the head:

<script type="text/javascript">
<!-- 
// toggle visibility 

function toggle( targetId ){ 
  if (document.getElementById){ 
        target = document.getElementById( targetId ); 
           if (target.style.display == "none"){ 
              target.style.display = ""; 
           } else { 
              target.style.display = "none"; 
           } 
     } 
} 
-->
</script>

Sample code showing usage:

<h3>Blogs I Read <a href="#" onclick="toggle('outside2');return false;" title="Toggle BlogRoll">(show/hide)</a></h3> 

    <div id="outside2"> 
        <h1><a href="http://www.google.com" title="google.">Google Search</a><br /> 
        <a href="http://www.google.com" title="google.">Google Search</a></h1> 
        <div class="dailyphoto"><!--#include virtual="/daily/dailyphoto.inc"--></div> 
  </div> 

<h3>Blogs I Read <a href="#" onclick="toggle('outside3');return false;" title="Toggle BlogRoll">(show/hide)</a></h3> 

    <div id="outside3"> 
        <h1><a href="http://www.google.com" title="google.">Google Search</a><br /> 
        <a href="http://www.google.com" title="google.">Google Search</a></h1> 
        <div class="dailyphoto"><!--#include virtual="/daily/dailyphoto.inc"--></div> 
  </div></div>

(via Joel Blain)

iTunes: “World, The” by Quest from the album Essential Chillout (2000, 4:17).

I’m too sexy for my blog

New tagline for the blog went up today. Inspiration should be blatantly obvious (at least if you’re into early 90’s one-hit wonders). ;)

Besides, I was bored.

This did, however, inspire some new shirts now available for sale through CafePress:

I'm too sexy for my blogI'm too sexy for your blog

To the left, the “I’m too sexy for my blog” t-shirt. Let your ego go wild, show of just how good you are! You deserve it!

And on the right, for those people who don’t deserve to be graced by your presence — the “I’m too sexy for your blog” t-shirt! Face it, some blogs just aren’t worth your time. Don’t be shy about it — announce it to the world!

Or not.

You know.

Whatever. ;)

I just do these things because they amuse me.

iTunes: “I’m Too Sexy (Catwalk)” by Right Said Fred from the album I’m Too Sexy (1991, 7:51).

blockquotes in TypePad and MovableType

One of the wonderful little things about a weblogging system such as TypePad or MovableType (and many others, of course) is that there are a lot of nice little usability touches that make it so much easier than having to work with all the HTML code yourself. Rather than mucking around with “ tags and the like, you just type away, and when you hit “Post”, all those niggling little details are taken care of for you.

Every so often, though, something doesn’t quite work the way you’d expect it to. Over the past few days, a few people have been posting in a thread on the TypePad User Group, trying to figure out why every so often, using the <blockquote> tag would suddenly cause display issues in a finished post.

Since I’d had to battle with this in the past, I ended up writing a small book attempting to explain just what was going on. My full post (in my usual overly long-winded style) follows.

After reading through this thread, I believe I’ve seen a couple different things going on when dealing with blockquote elements. I’ll see if I can clearly (if not terribly concisely) toss some useable answers out. ;)

I’ll start with an easier one to explain. I saw this from BJ:

It seems the problem occurs when the blockquote is within a paragraph:

<p> blah blah <blockquote> quoted stuff </blockquote> More Stuff </p>

There are a few types of tags in HTML. In this case, we need to know about two types: inline tags and block level tags.

Block level tags define a chunk of HTML code or text that is a self-contained block (I hate using a word to define itself, but that’s all I’m coming up with right now). A paragraph is a good example of this type of tag. Inline tags define a chunk of code or text that is contained within a block level tag — for instance, bold or italic text inside a paragraph.

The simplest way to visualize this is simply visualizing how a paragraph is structured: you can have bold and italic words inside a paragraph, but you can’t have paragraphs within bold and italic words, nor can you have a paragraph within a paragraph. In other words, this is a valid structure:

<p>Well, isn't <i>that</i> just absolutely <b>nifty</b>!

But this isn’t:

I'm not sure what to use here <p>as an example</p>, so I'll make something up.

Now, as long as all that made sense, all you need to realize is that a blockquote, as implied by its name, is a block level element, and therefore cannot be used within a paragraph. A properly formatted blockquote should look something like this:

I found this interesting little bit of information today:

<blockquote>A really interesting bit of information.</blockquote>

See? Pretty cool, huh?

If you want to correctly code an inline quote, as in BJ’s example, you should use the <quote> HTML tag, like so:

blah blah <quote>quoted stuff</quote> More Stuff

Okay, done. And that was the simpler of the two situations!

The second (and probably the one that’s biting the most people in the butt) is the bizarre linespacing issues that crop up at times when using the blockquote element. Sometimes blockquotes work fine, sometimes they’ll go tweaky within the blockquote, and sometimes they’ll affect things after the blockquote is closed.

I struggled with this for a while myself, but I eventually figured out that the culprit is actually one of the things that TypePad (and MovableType, for that matter) does to help us out: the automatic wrapping of paragraphs in paragraph tags (the “convert line breaks” option in the ‘Text Formatting’ menu).

TP/MT determines where to place paragraph and linebreak tags by looking at the text of the post: a single carriage return becomes a linebreak (<br />); blocks of text surrounded by two carriage returns (blank lines) get surrounded with paragraph tags (“…</p>). Simple enough on its own, but TP/MT also scans for certain other tags, and when it encounters those, it does not insert paragraph or linebreak tags. I don’t know all of the tags that will trigger this, but I know that list tags and blockquote tags are definitely in the list.

Now, when a blockquote is only a single paragraph, that’s not a problem at all. For instance, given the following text entered into a post:

I found this interesting little bit of information today:

<blockquote>A really interesting bit of information.</blockquote>

See? Pretty cool, huh?

TP/MT would output the HTML as follows:

<p>I found this interesting little bit of information today:

<blockquote>A really interesting bit of information.</blockquote>

See? Pretty cool, huh?

Where things get tweaky is when a blockquote contains multiple paragraphs. The first paragraph of the blockquote will be ignored as it should, but then the second paragraph of the blockquote gets an opening paragraph tag — and suddenly you run into a situation where two block level tags are fighting with each other. Then, when the blockquote ends, you have an opening paragraph tag, a closing blockquote tag, and then a closing paragraph tag — more confusion.

For example, given the following text put into a post:

I found this interesting little bit of information today:

<blockquote>A really interesting bit of information.

Some more information that's also interesting.</blockquote>

See? Pretty cool, huh?

TP/MT will wrap the first line in paragraph tags. Because the second line begins with a blockquote tag, it will ignore that line. As the third line begins with normal text, TP/MT will wrap that entire line in paragraph tags, which is where the weirdness creeps in. Here’s how the output would look:

I found this interesting little bit of information today:

<blockquote>A really interesting bit of information.

Some more information that's also interesting.</blockquote>

See? Pretty cool, huh?

Once you factor in CSS declarations into all of this, which might have differing settings for blockquotes and for paragraphs, you can see why things end up getting more than a little wonky as your browser tries to work its way through the tag soup and figure out how to format everything.

(ADDED: By the way, I should clarify that while both paragraph tags and blockquote tags are block level elements, different rules apply to them: while you cannot have a blockquote contained within a paragraph, you can have a paragraph [or multiple paragraphs] contained within a blockquote. While this may seem a little confusing from a “but they’re both block level elements!” standpoint, from a logical and English usage standpoint, it does make sense. I just can’t explain it any better than that. ;) )

There are two ways to get around this, neither of which are incredibly complex — but neither of which are incredibly easy, either.

The first is simply to switch the ‘Text Formatting’ option to “none” and type in all the paragraph tags yourself so that TP/MT doesn’t have to do it automatically. It works, but it also takes away from some of the ease of use of TP/MT.

The second option (and the one I use) is to keep in mind how TP/MT will interpret what you give it, and do a little bit of manual work to get around the issue. You’ll still be doing some manual work with tags here, but not quite as much as you might in option one. When I’m entering a two (or more) paragraph blockquote into one of my posts, I simply take into account the extra tags that TP/MT will add, add a couple of my own, and then ‘push’ a couple lines together so that the resulting code will output correctly after it passes through TP/MTs routines.

This is a bit easier to show than to describe, so — starting with the above example again, here’s the starting point:

I found this interesting little bit of information today:

<blockquote>A really interesting bit of information.

Some more information that's also interesting.</blockquote>

See? Pretty cool, huh?

Now, to prevent TP/MT from munging things up, I would put that example into one of my posts like this:

I found this interesting little bit of information today:

<blockquote>A really interesting bit of information.

Some more information that's also interesting.</p></blockquote>See? Pretty cool, huh?

Now TP/MT has only three lines to work through. As before, the first line gets wrapped in paragraph tags. Because the second line begins with a blockquote tag, it gets ignored, but as I’ve manually added paragraph tags, that’s fine. The third line, like the first, gets wrapped in paragraph tags because it starts with simple text, but because I put in the requisite paragraph tags on either side of the blockquote tag, all the tags in the resulting code balance out, like so:

<p>I found this interesting little bit of information today:

<blockquote>A really interesting bit of information.

Some more information that's also interesting.</p></blockquote><p>See? Pretty cool, huh?

And (finally), that’s that! I realize that it’s probably fairly daunting at first, but after playing with it a bit, I think it should start to make sense. Maybe. ;)

Anyway, those are the two major issues with blockquote elements that are probably causing frustration for people.

And that’s far more than enough babble from me on all this. Hopefully some of this helped some of you — as always, if I just managed to make things more confusing, feel free to post followup questions, and I’ll do what I can to clarify!