Leopard Configuration II

  1. Pick a new desktop background via System Preferences
  2. Change the Login Window background image to a picture of Balto in Central Park:

    sudo defaults write /Library/Preferences/com.apple.loginwindow DesktopPicture /Users/dwight/Documents/Wallpaper/Balto.jpg

  3. Keep the dock from sliding around as icons are added:

    defaults write $HOME/Library/Preferences/com.apple.dock pinning start

  4. To be continued …

The full configuration list can be viewed at my MacBook Configuration Log.

16 Mar: Leopard Configuration part 3

Inline Style +1

First you learn the rules. Then you learn when to break the rules.

I believe in Cascading Style Sheets. I cringe when I see the typical use of inline styles. Despite that, I’ve trained myself to use them [sparingly] on Take the First Step.

Because I don’t get to set the style sheet of the browser based feed aggregators out there. And a section or a wide image can force the browser to use a horizontal scroll bar for an entire set of posts.

Please do users of browser based aggregators a favor. Add an inline style of style=”overflow:auto; width:100%” to any wide post elements. It will add a horizontal scroll bar to just that element. Your readers will thank you.

Leopard!

Well, enough dilly-dallying about. It was finally time to upgrade to Leopard. Rather than upgrade in place, I decided that this was my excuse to update my hardware a bit - I upgraded from the stock 1G Ram/80G disk to 4G RAM/120G disk (3G addressable/7200 rpm).

With my new hard disk in place, I started the clean install. After defining a new primary user and importing user settings, I was back in business. Now it was time to start the configuration process:

  1. Name the computer:

    sudo hostname -s truckasaurus
    sudo scutil --set ComputerName truckasaurus
    sudo scutil --set LocalHostName truckasaurus

  2. Remove the hard disk icon from my desktop via Finder Preferences
  3. to be continued …

8 Mar: The hostname command only affects the LocalHostName - and that only temporarily. Use scutil instead.
8 Mar: Leopard Configuration part 2

Examining your Java Application with a Debugging Proxy

Unless you’re one of those annoying people who never makes a mistake, the time will come when your java web application is choking on it’s web messages and you just don’t know why. When that time comes, one of things that you will really want to see are the raw messages going back and forth. Which may be a bit problematic if your tools have been hiding the raw messages from you.

When I find myself there, I like to set up a debugging proxy (an explicit proxy will also work). This is as easy as specifying a couple of system properties (http.proxyHost and http.proxyPort) on the command line. Here I show my Java web services message client using Fiddler as a debugging proxy.

1
1 $ java -classpath $AXISCLASSPATH -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 Simple < data/echo.xml
<?xml version="1.0" standalone="yes" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
               xmlns:ns1="http://soapinterop.org/xsd">
  <soap:Body>
    <ns1:echoString>
      <ns1:echoStringRequest>Hello World</ns1:echoStringRequest>
    </ns1:echoString>
  </soap:Body>
</soap:Envelope>

Invoking http://stephan-desktop/axis/services/echo

<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <ns2:echoStringResponse
      soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:ns2="http://soapinterop.org/xsd">
    <return
        xsi:type="xsd:string"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello World</return>
  </ns2:echoStringResponse>
</soapenv:Body>

Producing the following view in Fiddler. Fiddler capture of a Java web services invocation

By selecting the “View in Notepad” button, we can see the complete response from the web service (formatted below for readability):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<soapenv:Header>
<ns1:echoMeStringResponse
soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
soapenv:mustUnderstand="0"
xsi:type="soapenc:string"
xmlns:ns1="http://soapinterop.org/echoheader/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">header text</ns1:echoMeStringResponse>

</soapenv:Header>
<soapenv:Body>
<ns2:echoStringResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns2="http://soapinterop.org/xsd">

<return xsi:type="xsd:string">Hello World</return>
</ns2:echoStringResponse>
</soapenv:Body>
</soapenv:Envelope>

Big Blue, Big Blue

   WOW

I didn’t think they could do it. When Big Blue went 3 and out with 8 minutes left in the 4th, all I could think was too much time. Too much time left for Tom Brady.

As it turned out, it was just enough time for Tom Brady and Eli Manning. The Patriots got their 7 up on the board, but left enough time for Big Blue to respond with 7 of their own. Leaving 29 long seconds up on the board for Tom Brady to work some magic.

Not to be. The Big Blue D stood tall and the New York Giants are the new World Champions.

Customized into a Corner

I really want to update the MacBook to Leopard. I want to have the option of Cover Flow in the Finder. I want to take Time Machine out for a spin. I want, I want, I want.

The problem is, I don’t like the dock. I rely upon FruitMenu from Unsanity to protect me from it. And Unsanity hasn’t come to grips with Leopard yet.

At first, I didn’t think that it was a big deal. Give them a little time to get the bugs out and we’d be good to go. But things are dragging on and the Unsanity weblog has gone silent.

I’ve customized myself into a corner. Is it time to break out and leave Unsanity behind?

Using a Debugging Proxy

I’m a strong believer in the power of “View Page Source” in the browser. But that doesn’t get you very far in this era of AJAX and Flash. If you want to see the real action these days, then you need to use a debugging proxy.

On windows, my recommended proxy is Fiddler. Primarily because Fiddler will automatically configure itself as the proxy server for Internet Explorer on startup and automatically remove itself on shutdown. If you use something like Burp, then you’ll need to manually configure the browser proxy server host and port [and more importantly, manually disable the proxy configuration when you’re done]. The downside of this WinINet magic is that you may pick up HTTP requests from any HTML mail you receive in Outlook.

The following image shows the Fiddler results for the Take the First Step home page. The left pane shows all the HTTP requests and the right pane provides detail on the selected request. Skimming down the requests, you can see that I have the Google toolbar installed in IE and that Take the First Step uses MyBlogLog, Google Analytics, and the Radio Userland webbug.

Fiddler debugging proxy examining browser traffic

Of course, there really isn’t anything here at Take the First Step that you couldn’t find just as easily via “Page Info” or “View Page Source”. But I’m confident that you’ll find a visit to your favorite AJAX site quite illuminating.

Da Bird

I always have an eye out for cat toys. And Da Bird is Da Best.

Da Bird consists of a feather toy connected by nylon string to a 36” rod. The main feathers are trimmed and mounted so that the toy spins when it is pulled through the air, with colored feathers adding a flash of color. Mark and Annie give it their highest recommendation.

I bought mine on eBay from the nice people at 1 Pet’s Palace. If you have cats, then you need Da Bird.