Recently in technology Category

The New York times recently published an editorial encouraging congress to pass net neutrality legislation. I encourage everyone to read it, but especially those who may not be familiar with net neutrality. Let me quote three paragraphs from it that get to the heart of the issue.

Users of the Internet take for granted their ability to access all Web sites on an equal basis. That could change, however, if Internet service providers started discriminating among content, to make more money or to suppress ideas they do not like. A new "net neutrality" bill has been introduced in the House, which would prohibit this sort of content discrimination. Congress has delayed on this important issue too long and should pass net neutrality legislation now.

The Internet, at least in this country, is a remarkably unfettered medium. If you type in the domain name of a large corporation or a small blog, a government Web site or a radical political party, the pages are sent to your computer with equal speed. Like a telephone line, an Internet connection does not play favorites -- it simply transmits the words and images.

I.S.P.'s, the companies that connect users to the Internet, want to change this. They have realized that they could make a lot of money by charging some Web sites a premium to have their content delivered faster than that of other sites. Web sites relegated to Internet "slow lanes" would have trouble competing.
- Democracy and the Web NY Times May 19, 2008

As someone who makes a good part of her living, communicates with her friends and consumes massive amounts of content via the internet net neutrality is an exceptionally important issue to me. I'm not a one issue voter but if I were net neutrality very well could be that issue. Barack Obama supports net neutrality as a concept and as concrete legislation. John McCain does not.

A couple quotes from a Reclaim the Media piece:

During a November appearance at Google's Mountain View headquarters, meanwhile, Obama pledged that "I will take a backseat to no one in my commitment to Net neutrality, because once providers start to privilege some applications or Web sites over others, then the smaller voices get squeezed out and we all lose."

"I think that Net neutrality is something that we have to look at from time to time, but I don't want to see the wealthiest and most powerful [companies] crowd out the independents, which has really given [the Internet] its strength and vitality," McCain said in an interview with WNYC last year. "It's a very tough issue."

"When you control the pipe you should be able to get profit from your investment," McCain said at the Wall Street Journal's All Things Digital D5 conference.

"The road to overregulated markets is paved with [good] intentions but terribly misguided legislation," McCain special counsel Chuck Fish said recently at the annual Computers, Freedom and Privacy conference in New Haven, Conn.

One more quote, this one from the Wired blog:

John McCain has been vague about network neutrality both in congressional debates and on the campaign trail. He simply says that the issue is one that can be addressed by market forces. 
Obama: Passionately supports net neutrality legislation.
McCain: Does not (passionately or otherwise) support net neutrality legislation.

Net Neutrality is One Reason I Support Obama.
| | Comments (0)
I'm engaged and passionate about this presidential race. I believe we have an opportunity to elect a president who is an honorable, intelligent person who can do good things for our country.

That's all well and good but it kind of sounds like pretty rhetoric doesn't it? Why do I think these things about Obama? Why am I passionate about the potential he shows as a leader? Why have I given money to his campaign? Why do I believe he is a significantly better choice for president than John McCain? These are real and valid questions and I expect to get asked theme frequently both by people who aren't traditional Democratic voters and people who were ardent and passionate Hillary supporters. My first inclination is to be frustrated with people who say "Since Hillary is not the nominee I'm not sure I'll be voting for the Democratic ticket." But that inclination is wrong. If I want to attempt to do some measure of good for this country the best way I can do that is to reach out to such people. I can acknowledge the disappointment they feel at their preferred candidate is not the nominee and I, and other Obama supporters, can share with them reasons why we think Obama will do significantly more good for this country than McCain will.

Soon I'll post "One Reason I Support Obama: Net Neutrality." My work, business and personal communication, cultural and intellectual consumption and a million other things rely heavily on the internet so this issue is a very, very important one to me.

I'd like to encourage other Obama supporters to write their own one "One Reason I Support Obama" pieces. Feel free to leave it as a comment, post it to your own blog and leave a link to it in the comments or, if you'd like to guest post let me know and I can post it here.

One more note: If folks genuinely believe that McCain will do a better job than Obama then they should vote with their conscience and their heart. However I think a lot of people will find that Obama is the right candidate for them if they know more about him and his positions. That's why I think it's really important to share our reasons for supporting him. I don't ask people to participate in memes (and don't really consider this a meme but whatever) but if you're an Obama supporter I'm asking you to do this.
| | Comments (0)
As geeky as I am it's kind of funny that I've never had a smart phone or web enabled hand held device. Until the past 5 months or so I never had even a hint of a legitimate need for one. B has had a Treo for about a year now and she loves it. Not because it's great for web browsing or email (it's so not) but because it allows her to view and edit Microsoft Office documents on the go as needed. Most importantly though it runs Epocrates. That's the killer app for her. It doesn't matter how many features or bells and whistles an iPhone or a Blackberry might have, if it can't run Epocrates (and neither the iPhone or Blackberry can) then it's of no real use to her.

I've been thinking about this notion of a killer app (or killer feature) as I've started shopping for a smart phone. Really good Gmail integration is my killer feature.

As I mentioned I had no real need of such a device until about 5 months ago. It was then that I started leaving the home office more and more for meetings where I either didn't want to take my MacBook along or where WiFi wouldn't be readily available. As my work projects grew, almost all of which are web related in someway, being away from email and the web for 3 or 4 hours became an issue. Not a huge, end of the world issue, but enough of an issue that I started thinking about getting a smart phone.

Being the Mac fangirl that I am it would make sense that I'd buy an iPhone. Two barriers to an iPhone purchase though: 1) I'm under contract with Sprint (and have some holdover ill will toward AT&T from when I used them before) 2) When I've tried the iPhone in stores I've found it very, very hard to type on the glass screen. A few weeks ago an associate at a meeting let me play with his beloved iPhone. He showed me what Gmail looks like on an iPhone and I fell in love with it too. But those two barriers still exist. So I went to the Sprint store to try out Blackberries. I was, in a word, unimpressed.

I was unimpressed with the form factor of the Blackberries I looked at, unimpressed with the browsing experiences of the Blackberries and most assuredly unimpressed with the service, or lack thereof, I got at the Sprint store (both the actual person to person customer service and the larger corporate service in terms of contracts, rate plans, etc.).

Point by point on my state of being unimpressed:

1. Regarding the form factor of the Blackberry (I looked at both the Pearl and the Curve) I was just meh. It wasn't ugly or clunky, it was just, there. Not bad but not exciting either. The Blackberries are significantly lighter than B's Treo though so I guess that's one positive.

2. I do the vast majority of my email work through Gmail. So when I talk of "doing email" (as my grandma would say) I'm talking about browser work. I did the Gmail/Imap thing for a little bit but using gmail.com works best for me. Why mess with it? If I used Outlook or Entourage or whatever it is that corporate IT departments love I might have been blown away by the Blackberry trial experience. Trying to read Gmail with it though was less than happy making in general but compared to reading Gmail on the iPhone doing it on the Blackberry was just bad.

3. Since I'm under contract with Sprint I can't buy a Blackberry at the "discount" rate that new Sprint users would get. So if I wanted to buy the new Blackberry Curve I would get the "sort of discount" and have to pay $525 for it. After paying $525 for the Curve I'd have to pay $30 for a data plan. We pay $15 a month for the data plan for B's Treo. The $15 data plan isn't available for the Blackberry. Why? The employees at the store couldn't really explain it but as far as they could tell it has something to do with GPS.

So where does that leave me?  It leaves me visiting the Sprint store again today, both in person and online. Le sigh kids, le sigh. I'm totally buying an iPhone. How's that?

Let's, just for kicks, compare plans. When you go to the iPhone store page at Apple.com you immediately get straightforward information about minutes, text messages and data.
 

The Apple Store (U.S.) - iPhone
Uploaded with plasq's Skitch!


When you go to Sprint.com to research data plans you first must give your zip code.

Nextel - Define Region
Uploaded with plasq's Skitch!

Then you can sort of get information.
 
Nextel - Cell phone rate plans, nextel plans, wireless phone services
Uploaded with plasq's Skitch!

Like I said, sort of.

Nextel - Cell phone rate plans, nextel plans, wireless phone services
Uploaded with plasq's Skitch!

Those screenshots sum up my experience shopping for a smartphone in a nutshell. If I go to the Apple store I can pick up an iPhone that actually functions and play with it all I want. If I go to the Sprint store most of the smartphones on display don't actually work. You can sometimes, maybe, get a store employee to show you a functioning model (normally it's their personal phone that they're showing off) but more often than not you're just supposed to get over the fact that you can't *really* try the device out. You can try one that's almost like it, or you can try the old version of it, or you can try the phone the kid working there has strapped to his belt.

To be more succinct, shopping for a smartphone and smartphone plan at Sprint has been very unpleasant. Shopping for an iPhone and iPhone plan at Apple has been quite pleasant. That has made me decide to leap over the two barriers that have thus far precluded me from buying an iPhone.

I've run the numbers and if I just keep my current Sprint plan (as it's a shared plan with B) + buy an iPhone + have an AT&T plan I will pay $235 more over the course of one year than if I buy the new Blackberry and have a Sprint data plan. $235. That's roughly a $20 per month luxury tax I'd be paying to have an iPhone. I'm ok with that. So that's barrier one down.

Barrier two I'm just going to have to take a leap of faith that I can get over typing on the glass screen. Friends and associates who have iPhones assure me that I'll get the hang of the glass screen typing. And I think that my typing on the glass screen can't be much worse than the typing in emails I get from people using Blackberries. So I'm getting an iPhone. Maybe.

Maybe? Well you currently can't buy iPhones from the Apple store. This has everyone and their brother speculating that a new version of the iPhone is just around the corner. So I'll be waiting to see what shakes out in the next few weeks with a potential new iPhone. If it comes out and is relatively affordable (no more than $399) I'll be purchasing one. Otherwise? I'll just start packing my MacBook more often. After shopping with Sprint and giving Blackberries a look I've decided, that for my needs, it's either an iPhone or nothing. Don't cry for me geeks, I'll be totally fine without handheld web access. Yes, a hand held web device would be a help to me but it's not so much of a necessity for me right now that I'd pay for the privilege of a significantly broken experience. And that's how I look at both going into a new relationship with Sprint and with the way Blackberries function compared to the way iPhones function.

So, hurry the frack up and come out next gen iPhone.
| | Comments (13)
Seriously. Like $5 a month, hell maybe even $10. It's worth it to me. The internet seems quiet without Twitter. In business we've got lost opportunity costs we deal with and when Twitter is down it seems like we're dealing with lost opportunity for interesting conversations. I like interesting conversations people. Get better please Twitter. 
| | Comments (0)

When my friend and I were first discussing the MT:OtherBlog tag I mentioned that it seemed to do the exact same thing as MT:MultiBlog. I couldn’t, and still can’t, figure out why there would be two different tags with redundant functions but it turns out MT:MultiBlog has a couple more bells and whistles than MT:OtherBlog that make it much more functional.

In the comments of my post on MT:OtherBlog J. Brotherlove reminded me of one serious advantage PHP includes have over using MT:OtherBlog: automatic updating. If I’m pulling content from Blog 1 with a PHP include into Blog 2 whenever Blog 1 is updated the pulled content is automatically updated on Blog 2. This isn’t the case when using MT:OtherBlog. When I update Blog 1 the pulled content on Blog 2 will not be updated until Blog 2 is rebuilt (either indexes or the entire blog depending on how you’ve got it set up). So after round 1 the score card finds MT:OtherBlog winning in the ease of use category but PHP includes winning in terms of actual useful functionality. So, a tie.

But then (again in the comments of my post on MT:OtherBlog) David Raynes dropped some incredibly helpful knowledge that turned PHP includes and MT:OtherBlog both into also-rans. Turns out David originally developed the MT:OtherBlog functionality as a plugin for an older version of Movable Type. With Movable Type 4.0 this functionality was packaged into the application as MT:MultiBlog. While on the surface MT:MultiBlog and MT:OtherBlog do the same thing (namely allow you to easily pull content from one blog into another blog) the former has a serious advantage.

The MT:MultiBlog tag gets its functionality from the MT:MultiBlog plugin and that plugin has rebuild triggering options. Whereas when using MT:OtherBlog I would have to manually rebuild Blog 2 to force it to pull the most recent content from Blog 1 when using MT:MultiBlog I can set a rebuild trigger to automatically rebuild.

Let me use this blog and Correspondence Notes again as a real world example. I want the content I’m pulling from Correspondence Notes into the footer of this blog to always be up to date. Using MT:MultiBlog I have two steps to making that happen. First step is getting the code in order:
<mt:MultiBlog include_blogs="1">
<MTEntries lastn="2">
<a href="<$MTEntryLink$>"><$MTEntryTitle$></a>
<$MTEntryExcerpt$><p>
</MTEntries>
</mt:MultiBlog>

This is of course almost identical to the code used in the MT:OtherBlog example. David rightly points out that this code could be condensed but I prefer writing it out like I have here. Just a personal preference so feel free to do it however you like.

The second step is to configure a rebuild trigger using the MT:MultiBlog plugin. Go to plugin configurations for Blog 2.

Picture 1.png

Select MT:MultiBlog 2.0, click settings and then Create Rebuild Trigger. Choose the blog that will be triggering the rebuild (in my example it’s Correspondence Notes) and configure it. I chose to rebuild the On a path indexes whenever a Correspondence Notes entry is saved.

Picture 2.png

Now my footer here at On a path will always be rebuilt when a new entry is saved at Correspondence Notes and thus my footer here will always have the most up to date content. Sweet.

| | Comments (2)

That title is a little misleading because you can't actually change the default font in Apple's Pages. I find that very frustrating because I find Gill Sans to be much more pleasing to the eye than Helvetica. Although you can't change the default font you can implement a simple work around that achieves the same effect as say setting a new default font in Microsoft Word would.

1. Open a blank document in Pages
2. Set your font settings to whatever you want the new default to be
3. Save this document as a template
4. Go into Preferences (General Preferences specifically)
5. In the "For New Documents" section click the button for "Use template:"
6. Click the choose button and select the template you saved a few steps ago

goodfont.png

| | Comments (11)
The new templates and template structure in Movable Type 4 streamline and simplify the process of making site wide changes to your blog. Well that’s what they do once you actually understand the templates and template structure. But understanding how the templates work together and digesting the tag soup that swims in each of those templates? Not exactly simple. So at the suggestion of a friend I thought I’d create a series of basic tutorials that help explain the templates and template structure. The tutorials will begin at a relatively basic entry level.

Instead of just breaking down templates line by line I thought it would be easier and more practical to look at templates in the context of actually doing something. You don’t really need to understand every single line of code if you know where and how to make the changes to accomplish what you want. For this first tutorial we’ll be making changes to the sidebar. Specifically we’re going to remove a widget we don’t want and add Google AdSense ads in the sidebar, after the archive content, on every page of a blog.

Before we get to actually editing any templates I can’t recommend highly enough that you download and install the Template Shelf plugin. If you’re going to spend any time at all editing your templates this plugin will make your life much easier. For this tutorial we’re only going to be editing one template. But it’s not unlikely that you’ll be needing to hop back and forth between multiple templates and modules in the future and this plugin makes that much, much simpler.

I’ve set up a brand new blog to serve as an example of the work done in this tutorial. I selected the minimalist light blue style and a two column (wide-thin) layout from Stylecatcher in Movable Type. Since we’ve got a two column layout the template we’re going to be modifying is the Sidebar - 2 Column Layout. This template is actually a template module. What’s a module? The best analogy I can think of is that a template module is like a backpack. You’ve got a whole bunch of stuff (all the code for the sidebar) you need to get somewhere (in the sidebar of all the pages on your blog) and it’s much easier to put all of that stuff in a backpack (a template module) and then unpack it when you get to where you’re going.

So instead of having to put all your sidebar code into every template (main index, individual archive pages, monthly archives, etc) you just reference the particular module that contains the code like so <$MTInclude module="Sidebar - 2 Column Layout"$>.

Out of the gate this is what the sidebar looks like.
beforeedits.png
| | Comments (2)

There are a lot of new and useful tags in Movable Type 4.0. I'm slowly working my way through figuring some of them out and putting them to use. One of my favorites new tags is mt:OtherBlog. I actually hadn't played with it at all until a friend mention his frustration with figuring it out since the documentation for this tag is a little scant. So I spent a little time with it and am glad I did.

mt:Otherblog makes it easy to pull and post content from other blogs in your Movable Type installation. Previously I'd use a php include to pull content from another blog. Take a look at this site's footer. See where it says "from my Reading List"? That content is being pulled from my Reading List blog via a php include. I haven't switched it to the mt:OtherBlog method yet. The content from Correspondence Notes however is being pulled via mt:OtherBlog.

If you can do what mt:OtherBlog does with a php include what's the big deal? Efficiency and simplicity. For the php include method you must setup a special template for the first blog that spits out only the content you want to pull into the second blog. For Reading List the code in that template looks like this

<MTEntries lastn="1">
<a href="<$MTEntryLink$>"><$MTEntryTitle$></a> <br/>
<$MTEntryExcerpt$>
</MTEntries>

Then you must call up the content from that special template in your second blog's template
<?php require("/home/serverpath/html/books/specialtemplate.html"); ?>
And you of course need to make sure all the pages you want to display this content on have the .php extension, not .html.

With mt:Otherblog you don't have to do anything at all to the blog you want to pull content from and your standard .html extensions are just fine. All you have to do is figure out that blog's id number and then insert the following code (or some variation on it depending on what you specifically want to display) into the blog that will be displaying that content.

<mt:OtherBlog include_blogs="1>
<MTEntries lastn="2">
<a href="<$MTEntryLink$>"><
$MTEntryTitle$></a> <br/>
<$MTEntryExcerpt$>
</MTEntries>
</mt:OtherBlog>

The important variable for pulling content from other blogs is include_blogs="#". Key here is blogs, not blog. When I first started fooling with it I was trying <mt:OtherBlog include_blog="#"> with much frustration. Since you're using include_blogs you can of course pull from multiple blogs by simply
using comma separators (include_blogs="3, 15", etc).

| | Comments (4)
For the longest time I had a significant brain block that prevented me from figuring out a keyboard shortcut for searching within iTunes. Today that block finally subsided. When iTunes is the active window Command-Option-F (also known as Apple Key-Option-F for new to Macs people) will allow you to instantly type your search info. Huzzah.


|

I've started a new site called Correspondence Notes. The site is about written communication as well as the tools and materials that go along with it. It contains lots of fawning over and geeking out about stationery and note cards. Like all of my sites Correspondence Notes is powered by Movable Type.

Nearly every article for Correspondence Notes contains at least one image. I use Movable Type's built in upload feature to upload images and add them to entries. The process is fine except for one step. By default Movable Type will upload images to your Site Root. That's great except I like my images to go into a subdirectory I like to call...images. I can of course, with the file upload utility, tell Movable Type to put the images into the images subdirectory. The problem is that the utility will not remember this preference. Every time I upload an image I have to tell Movable Type again to put the new image in the images directory instead of the Site Root. Though it only takes a few key strokes to type "images" into the subdirectory field it's a silly time waster since I want every single image I upload to go into that folder.

Since there isn't an option within the Movable Type user interface to make the file upload utility remember that I want my images to always go into the images subdirectory I decided to go straight to the source and make it happen. Please remember that if these steps break your copy of Movable Type I'm not the least bit responsible.

Configuring the upload utility to upload to the same subdirectory by default is actually quite simple. It only requires editing a single line of a single .tmpl file. However, if monkeying with an application's source code makes you really nervous I've heard there is a great plugin for improving Movable Type's file upload utility that only costs $10.

The file to edit is called asset_upload.tmpl. Assuming you have your Movable Type files in your cgi-bin the path to this file looks something like cgi-bin/mt/tmpl/cms/dialog/asset_upload.tmpl.

1. Download asset_upload.tmpl (I highly recommend you save a backup copy of it before you edit it)

2. Open asset_upload.tmpl and look for the following:
/ <input name="extra_path" id="extra_path" value="<mt:var name="extra_path" escape="html">" />

3. Change
value="<mt:var name="extra_path" escape="html">"
to
value="images"
where "images" is whatever subdirectory name you want your images uploaded to by default.

So your final code should look like this

/ <input name="extra_path" id="extra_path" value="images" />

4. Save and upload asset_upload.tmpl

5. Upload an image

uploadedit.png

You'll notice that the subdirectory field is still completely editable. So while Movable Type will, by default, now upload my images to the images subdirectory, should I want to upload a particular image to a different directory all I have to do is type a different name into the subdirectory text box.

| | Comments (0)