August 4th, 2009

Snow Leopard Pre-Order

If you’re planning on pre-ordering Snow Leopard from Amazon, then use this little banner so we make some referral money.

Thanks.

July 12th, 2009

Recent Apple Store Layoff?

Early last week (June, 6th) I was trying to make a Genius Bar appointment at the 5th Ave. Apple Store. Normally I cannot make one any sooner then a day away, but this time I couldn’t make an appointment at all, for any day. Instead I was prompted to check availability at other Apple Stores. The only available slot was at West 14th St. for some time Friday night, which I was not ready to sacrifice. This implied virtually no availability at any of the Manhattan Apple Stores for the next three days, aside from that one inconvenient slot. Only a few weeks prior I was able to make an appointment with selection of times to choose from, without even having to consider other stores.

While I found this odd, I assumed it must be related to the 4th of July weekend that had just passed. I tried again on Tuesday morning and didn’t find any open slots. It prompted me to check stores outside of the city. A second attempt was made that evening with the similar results. Not until Wednesday was I able to make an appointment in one of only two available times-slots, across all 3 Manhattan stores.

When I went in for my appointment I offhandedly asked if this was an issue of staff on vacation. I was instead told this was the result of a significant reduction in the number of Geniuses. This came as a surprise given the recent release of the iPhone 3G S and the large queue of people downstairs waiting to buy one. I speculate that this is recent and the stores have done their best to keep things quiet, though this could be a continuation or result of announced layoffs a few months back.

While I don’t suspect this will impact the overall quality of service, it does make it more difficult to get it in a timely manner and throws out any possibility of walk-ins. The whole concept of the Apple Genius as a manner for accepting repairs and troubleshooting is nothing short of a luxury when compared to the mail-in alternative. Hopefully this is just a short term cost saving tactic for the summer and not a sign for things to come.

June 28th, 2009

AIM Push Notification and Multiple Sessions, Who Wins?

A question was recently posed by a friend. He noticed that as long as his AIM client was signed in on the iPhone, actively or just for Push Notification, that messages would no longer be sent to his desktop client anymore. This sort of behavior could render the “always signed in” Push Notification useless if the desktop client can no longer receive messages while the iPhone application is considered to be signed in.

It turns out that AOL uses a precedence order in deciding which client should get the message, or in some cases both. Here is the precedence order:

Available (1)
Away (0)
Idle (-1)
Invisible (*)

AIM clients with the same precedence “score,” the number in parenthesis, will get the same message. If one client has a higher score, no other clients will get the message. Idle time will subtract one from the score. Available + Idle is the same thing as Away + Active.

For example if both clients are Available and not Idle, both will get the message. If one is Available and the other Away, the Available client will only get the message. Here is where things get interesting, if a client is Available and Idle, and the other is Away but Active both get the message.

The most effective way to use both the iPhone AIM client and a desktop client like Adium, iChat, or AIM, you need to have the desktop client set to Available and the iPhone client set to Away. The desktop client shouldn’t be set to artificially Idle, or both will get the message.

This is a little annoying because I tend to set Adium to Away all the time. Going forward to utilize AIM for the iPhone I’ll have to keep available and not idle, otherwise messages are going to start appearing on my phone. I guess this promotes some additional honesty about my actual status.

I hope this solves the mystery for someone. I couldn’t find anything too definitive elsewhere on the web.

*Note: Setting Invisible in one client changes your status in all logged in clients. It’s not possible to be Away in one, and invisible in another. I was hoping I could leverage this somehow by setting the iPhone to invisible so that it would only get messages if the desktop client went offline.

June 25th, 2009

Now with Fancy

A quick post just to point out the obvious, the blog has a new look. More on this later, but Kenta is to thank for the design.

Enjoy.

June 25th, 2009

When BS is so bad it hurts

It appears that Movable Type has been forked into a new project called “Melody.” Now this is why I love Open Source software, if something isn’t working right fracture the code, take some of the developers, and subdivide the user base. I understand that one piece of software can’t do everything. By all means it shouldn’t, but there doesn’t seem to be any driving goals of this project that aim to make it vastly different the Movable Type.

A quick read of the sparse About page and FAQ, seems to indicate that this fork is driven by the need to work with the community more. In other words they don’t have any unique design principles yet, but invoking the term “community” implies that we soon will have all that we’ve been missing from Movable Type. They suggest trying to be more like WordPress. Maybe that means documentation that isn’t habitually wrong. I’m not sure.

On face value it looks like some sort of internal fallout happened. When you drop all of the idealistic bullshit, thats the most common reason for a fork. Two people couldn’t agree and they go their own way but try to make it look all happy and mutual, as if this will somehow be “better for everyone.”

The way I see it, Movable Type has been trying to become a CMS and failing miserably. It’s once rapid rate of progress during the 3.x builds has become a snails pace under 4.x., and this fork may finally kill it or get SixApart off their asses and take a look at what their actually trying to accomplish.

May 11th, 2009

Internet Explorer 6 Duplicate Characters Bug

Just for reference if you come across the old issue with IE 6 duplicating characters at the end of a block of text, check out this article at Position Is Everything.

May 8th, 2009

Opening a Link in a New Window, and How Not To

I often tell everyone here to avoid examples of JavaScript on the Internet, because more often then not it’s incorrect. The same goes for most of the popular examples of how to cause a link, an A tag more specfically, to open in a new window.

The most popular and incorrect way is using the target attribute:

<a href="http://www.example.com/" target="_blank">Using Target</a>

The target attribute was meant to direct content to load in a specific frame. In this case the keyword directs the browser to load the page in a new window, but with frames long dead and gone this little gem lives on as a reason people “can’t use HTML Strict.”:

The most common solution that people came up with this was to use JavaScript, but in some strange ways. Instead of opening the link directly, the page would go to an anchor and JavaScript would open the URL in a new window:

<a href="#" onclick="window.open('http://www.example.com/');">Using Onclick</a>

The HTML will validate, but if JavaScript is disabled the link won’t go anywhere, and it can’t be copied via a contextual menu. On top of that clicking on the link will cause the page to jump to the top, unless you add “return false;”:

<a href="#" onclick="window.open('http://www.example.com/'); return false;">Using Onclick</a>

Another approach to avoding the jump was to place JavaScript within the href attribute:

<a href="javascript:window.open('http://www.example.com');">Using inline JavaScript</a>

While inline JavaScript has its novel uses, this isn’t one of them. This method doesn’t offer much over the previous one and can be complicated even further when a wrapper function is called instead:

<a href="javascript:wrapperfunction();">Using inline abstracted JavaScript</a>

The only way to fix the issue of JavaScript being disabled was to put the link back in the href attribute:

<a href="http://www.example.com/" onclick="window.open('http://www.example.com/'); return false;">Improved use of onclick</a>

Using “return false;” stops the link from executing, allowing the URL to be put back in the href. This is the farthest I’ve seen any site go. it’s technically complete, but redundant. One last bit of JavaScript fixes that:

<a href="http://www.example.com/" onclick="window.open(this.href); return false;">Ideal use of onclick</a>

The redundancy is elimanted by using this.href. “this” refers to the current object in context, being the A tag. The “href” references the A tags href property and the value (URL) contained within.

The end result is a small generic addition to any A tag to make it open in a new window. The tag will pass HTML strict validation, “SEO” is preserved and if JavaScript is disabled everything keeps working.

May 8th, 2009

Basecamp Writeboard & Message Erratic Formatting

If you rely heavily on Basecamp, a project management service by 37signals, then you’ve probably run into issues with erratic formatting in Writeboards and Messages. The contextual documentation is sparse at best and doesn’t explain how to stop the unintended formatting caused by the inadvertent use of reserved sequences.

Through a little experimentation, it seems that most HTML tags are left unencoded. While unexpected and also potentially problematic this behavior has it benefits. The <code> and <pre> tags – and possibly more – turn off the Basecamp formatting engine and make it possible to preserve text that would otherwise be mis-formatted.

So next time you notice strange formatting, try surrounding your text in either <code> and <pre> tags. Remember that while these tags won’t show up in the message itself, they will appear in any notification e-mail, but the same is true for standard Basecamp formatting.

April 24th, 2009

Craig’s List E-Mail Scam

Thanks to Google I learned of this scam in response to a printer we’re selling on Craig’s List.

The e-mail I got:

From: bukkybrigth@gmail.comSubject: Re: New Canon PIXMA MX700 Office All-In-One Printer - $120 (Chelsea)Date: April 24, 2009 11:27:16 AM EDTTo: --@firefallpro.com

Good to read from you and i believe we can continue on thistransaction because i don't like to beat around the bush and am nothere for games, I am buying this Item for my Spouse located Overseaand i will be responsible for the shipping and handling cost, let meknow how much it will cost you to ship and All you have to do now isto send me a money request for the total amount via paypal for me toconfirm if your account is still active or not or you get back to mewith your paypal registered email account as for me to remit thepayment. Please get back to me as soon as possible if you are stillinterested to further with this transaction.and i will like if you canship the item through Unites State Poster Service InternationalExpress Mail (EMS).... I will be looking forward to read from you.

Regards.

I should have e-mailed back something creative, but I sent them a link to the article I found. Maybe they’ll have to vary the copy a little now.

April 15th, 2009

Xserve G5 Remote Diagnostics and Bootable CD

The Xserve G5 has a remote diagnostics tool that runs in Open Firmware, similar to the Apple Hardware Test (AHT) found on most OS X installation disks that ship with Macs, or now baked into the EFI on most new Intel based Macs. The depths of testing and detailed results of the Xserve Remote Diagnostics far exceed AHT, but so does the complexity of setting it up.

Normally, this very comprehensive testing suite can require up to 2 additional machines; the first machine to administer the test and the second OS X Server running Netboot. Both administration and Netboot serving can be performed from the same Mac. The fact that I can’t run these tests without additional machines bothers me, but setting up another server just for Netboot is wholly impractical.

Thankfully a set of instructions showing how to create a bootable CD in lieu of Netbooting are available. The process involves creating a disk image from parts of the Xserve Remote Diagnostics software. The resulting image is small and generic to any Xserve G5, so much so that I couldn’t figure out what the point was of telling people how to do it instead of just letting them download the completed image.

To that effect I’ve compiled all the necessary parts here, including the bootable disk, so that it?s easier to perform these tests:

- Apple Supplied Documentation (alt)
- Xserve Remote Diagnostics 1.0.4 (alt)
- Xserve Remote Diagnostics 1.0.4 Boot Disk

The following basic steps should help:

  1. Download and read the Apple documentation.
  2. Download and install the diagnostics software on a Mac that is within the same subnet as the Xserve to be tested.
  3. Download and burn the boot disk image to CD.
  4. Put the burned CD into the Xserve and restart it while holding down the C key. The CD will not appear in the list of bootable devices while holding down the option key, or as an option in Startup Disk. Once booted from the disk you’ll see a gray screen with some text at the top.
  5. Make sure the administrative computer with xrdiags is on the same subnet as the Xserve, you might have to directly connect to its first (lower) Ethernet port and set your subnet to 0.0.0.0 if the Xserve is not detected when running xrdiags -d.
  6. Once the tests are running prepare for a long wait. The documentation says 5 minutes for the Quick test and 15-20 for an Extended one. A Quick test on an Xserve G5 with 8 GB of RAM took 45 minutes; an Extended test took over 3 hours. This was a terrible discovery late at night.

Hopefully this will help someone