From my last post, you know that I am slowly migrating this blog from Typepad over to an independent Movable Type installation.  The problem is that Typepad does not want to promote moving off their service (completely understandable) and therefore has little incentive to allow users to create 301 redirects.  Some research suggests that a zero-second meta refresh will be treated by search engines as a 301 redirect, so I set out to test this.

First I had to play with MT template code to see if I can generate the permalinks as they would be on the new blog site, and I have succeeded.  The hardest part was importing the old posts over on this installation such that the basename could have the same 15 character cut off point as does my Typepad account. That solved, I could put a link on each Typepad page to its corresponding page here.  After about a month, I see that a couple pages here are starting to get a tiny amount of search traffic. Nothing huge, but the important part is that the engines see this site and begin listing it.

After patiently waiting until I saw that result, I have now implemented the zero second meta refresh on each individual post page over at my old Typepad blog.  I will be watching my search engine traffic via Hittail in order to see the cutover occur in real-time, if it works at all.

In the meantime, I will be posting here from now on rather than on Typepad, at least for this blog.  Stay tuned to see if the 301 experiment works out!  In any other scenario, I suppose such a test would be crazy, but in this particular case, there is no other way to do a migration off Typepad than to create a meta refresh, so even if I don't get the search results transferred over, we will have learned something useful.


This thread seems to think so!  Therefore, I intend to implement a meta refresh of zero seconds on at least some of the pages of this blog, in order to test the theory and to ultimately move this blog, meager traffic and all, to its new domain which I mentioned a few days ago.

Typepad Support assured me that just by setting up and activating the new domain here at Typepad, search engines would recognize the new domain and it would start ranking, but I am not so sure it's that easy. So what if the site begins responding to DNS in a new way? The search engines will likely see this as duplicate content.

If this meta refresh approach works, perhaps I can keep a little bit of traffic while moving to the new domain. Unfortunately, this blog would probably have to have the second (target) set of files living on another Typepad instance or on another host entirely to prevent a circular redirect.

Doing so on a sitewide basis will only require a quick template change.... I may need to sleep on this as it's a pretty big step, yet it will be very interesting to see if the engines really do look at meta refreshing as the same as a 301 redirect.

Microsoft Buys Danger, Maker of Hiptop!

| | Comments (0)

It's surprising in some ways, but it makes good sense in others - Microsoft has purchased Danger, Inc, the maker of the Hiptop platform which I've written much about.

Seems like Danger has some piece of the picture that Microsoft wants to paint for their mobile efforts. Could it be the Hiptop user interface? Could it be the client-server part? Could it be the human expertise in running a managed platform like the Hiptop platform?

Let's recap the basics of Hiptop:

  • Only some data is held on the device. Data is stored on servers at Danger, Inc.
  • Web pages are resized by Danger's servers to help operate their web browser.
  • Third party apps are hard to come by, because of a tightly-managed software ecosystem, but the apps are all J2ME apps.
  • The OS on the device is Java-based.
  • The Hiptop is known for its killer form factor, QWERT keyboard and flip-out screen.

Could Microsoft be seeking to leverage this line of thinking into a Zune phone or some kind of Xbox mobile device?

With few details in any of the coverage out there, it looks like there are more questions than answers. This one is worth keeping an eye on with Windows Mobile as an established player, with iPhone being so buzz-laden, and with Google's Android platform making waves.

Apple Updates iPhone Line with 16 GB Model

| | Comments (0)

Today I see that Apple is giving a storage bump to the iPhone product line. The iPhone will now be coming in 8- and 16 GB flavors.  With the formal release of the iPhone SDK and some way of getting third party apps onto the phone, it's looking very promising. Several guys in the office have them, and I am quite impressed with what I'm seeing of the stock iPhone models already; this storage bump only sweetens the deal more.

I'm still not sure if it's really going to be the phone for me when my existing contract is up in a few months, but I have plenty of time to observe and make the decision.  I note that the iPhone setup is similar in philosophy to the Sidekick, which I liked very much and even miss today (having converted to a low-end Blackberry), though the iPhone is much more powerful.

I'd like to add more to these observations but I must get my sleep.

Connect 2400 is Moving...

| | Comments (0) | TrackBacks (0)

A quick announcement - this blog is moving! I found a couple of minutes to set it up as a subdirectory on my personal domain. Hopefully as a result of this move, I will be able to give the blog more of the attention it needs. I'm leaving it hosted on Typepad for the time being, so as to maintain traffic, so the new domain is simply pointing to this location. Once I've worked out all the details, I may move the entire blog to another host. I'm undecided on that aspect for now because there are many considerations to take into account such as broken links and search engine traffic.

The new home will ultimately be http://www.stephenelsner.com/connect2400/

The blog will respond at that address now, so please update any links in anticipation of Connect 2400's internal linking being updated.

From searching the web for a solution to the issue of Firefox displaying a scary warning message when visiting one of my sites that uses an inexpensive GoDaddy SSL Cert, I can see that the solution is out there but I want to make sure it's in at least one more place! Hopefully this post can save someone the searching time I spent.

Firefox needs to see an Intermediate Certificate. To get this Cert, visit the GoDaddy certificate repository.  In my case, the problem was with IIS, so I downloaded the very last file listed, right before the  CRLs: "Go Daddy PKCS7 Certificate Intermediates Bundle (for Windows IIS)

Once I got that file on my web server, I opened MMC, which in my case has the Certificates Snap-In already loaded. Add it if you don't - make sure it's set up for the Computer Account. Drill down on the Certificates, go to the Intermediate Certificates, right click, and do an import on that file I reference above.

The scary message should not appear after you have installed the Certificate Intermediates Bundle.


            

You might imagine I was one of those early adopters waiting on line overnight for an iPhone on the day of its release. Well, as an Apple user for some time now, I have learned that it's good to let the real early adopters have their fun and work out the kinks for you... and then buy at least a second revision of the product.

Having given up the Sidekick a while ago, I have been using an "old" Blackberry 7100t. It's a great tool for email and for keeping up on basic blogs with the BB browser.

Until some future generation of smartphone comes out (I've been keeping an eye on what's coming) I will likely stick with the Blackberry. It supports J2ME, allowing newer applications (Google Maps, Gmail Mobile, various RSS readers) to be installed rather painlessly and then run cheaply on T-Mobile's inexpensive data plans.

Which brings me to the point of this post: Ditch the Blackberry browser and head on over to opera.com so you can try out the Opera Mini beta. Opera Mini is up to version 4 now and it's quite nice. Scrolling is supported on the numeric keypad, and has a special mode which allows you to zoom in and out on different regions of the page. Currently landscape mode browsing is not supported on the 7100t... I wonder if they will get that working in the future.

Opera Mini appears to support some light AJAX scripting but a quick test on www.goodsearch.com with its relatively simple charity selector component did not yield very good results.

But what does one expect in the way of AJAX on a mobile device? I suppose iPhone with its full Safari browser sets the new gold standard in this area - even Netsuite encourages users to take their business moble with the iPhone.

Still, the enhanced scrolling characteristics alone make Opera Mini 4.2 Beta worth living through some of the kinks. Give it a try!

Learning Ruby: Ruby Cheat Sheets

| | Comments (0)

It's been a little while since the last update on those tutorials. What happened? Well, the tutorials were so quick to complete that I didn't have any trouble, and therefore nothing to "write home" about. Now that I have some surface knowledge, I am working through the Pickaxe to get a handle on the Ruby language itself, and I am going to begin writing Ruby for some simple tasks so I can internalize this whole thing. I intend to do the same with PHP as well, but not right now.

But getting back to the intended subject of this update, I want to point you to a great resource. I had been searching for some Ruby cheat sheets in order to have an at-a-glance reference for syntax while I go about writing my simple scripts. I came across this site, which has a variety of useful cheat sheets. Needless to say, many of them are now on my hard drive waiting to be printed on nice A4 paper and I am composing this post to toss the author a link. Good work!

I might make my own cheat sheets in the future which will appeal to my sense of organization, but these are an excellent start for anyone.

Learning Rails: Migrations Part 2

| | Comments (0)

Summarizing what I've learned: 1) from application directory, run "rake db:schema:dump" to create a dump of the applications's data structure compatible with Migrations. It's called schema.rb and gets dumped in the \db directory. 2) Run "ruby script\generate migration BaselineSchema" to generate a Migrations file. 3)Edit the schema.rb to include version information. Change "ActiveRecord:: Schema.define() do" to "ActiveRecord::Schema.define(:version => 1) do". 4)Run "rake db:migrate" to actually to the work.

The script does the work, and in the process creates a table called schema_info in our database containing only one field, which is the version number of the database's current schema according to Migrations.

We have a baseline established, basically an empty migration. From now on, we can call the migrations by what they do and start building out our database!

Again, run "ruby script\generate migration MyMigrationName" Edit this file to define your changes and how to reverse them. Run this file using "rake db:migrate".

Note: In the tutorial I'm working through, the change defined in the first migration after the Baseline contains an error. The self.up method in the tutorial says add_column("Recipes", "contributor_name", "string" :default => "Unknown") while it ought to say add_column("Recipes", "contributor_name", :string, :default => "Unknown"). The tutorial's code will fail to run on my version of InstantRails.

Note to self: find out whether the long run time of "ruby script\generate migration Foo" is due to my system itself, my InstantRails, or if it's intrinsic to the process. I see that the Ruby.exe process is what's hitting the CPU pretty hard. Likewise with rake db:migrate. Perhaps this is due to loading the Ruby interpreter each time, like back when I was working with Java and experienced some harsh JVM startup times.

Now we can arbitrarily roll back to any previous version: rake db:migrate VERSION=2

Cool stuff! The next tutorial in this series is located here ( http://www.oreillynet.com/pub/a/ruby/2007/06/28/cookin-with-ruby-on-rails---june.html) and works with Testing.

LEarning Rails: Moving along to Migrations

| | Comments (0)

I've wrapped up the first part of "Cookin with Ruby on Rails". It really seems like this is a pretty good framework for rapid, iterative development. But as a web developer experienced in other tools like ASP and JSP, I need to know a lot more about this before I am comfortable with the idea of doing actual work. The next part of the tutorial, dealing with Migrations and Unit Tests, looks like it's going to help me go in that direction.

Tutorial link: http://www.oreillynet.com/pub/a/ruby/2007/05/17/cookin-with-ruby-on-rails---may.html

Per the tutorial, Migrations will allow me to develop code against a database without worrying what database I'm using. Dealing with the database entirely through Ruby. Should be interesting!

The narrative style of these tutorials may be slowing me down, because I am not accustomed to working and learning in this way, but I feel that right now it's good to be out of my comfort zone and let my brain be stretched a bit. If I am slowed down too much, I may have to switch to another tutorial or document.