I just read this following article on Eric Pascarello's blog:Eric's weblog - AJAX..Is It hype?. It seems that every development website you turn to is talking about AJAX. For those not in the know, AJAX is an acronym Asynchronus JavaScript and XML. The phrase was coined by Jesse James Garrett, to refer to a specific type of web application.
AJAX applications essentially minimize 'browser flash' by loading the UI into a single web page and then update the page behind the scenes obtaining XML data from the web. Google has developed a lot of these applications of late like G-Mail and Google Maps.
But while the term AJAX is new, the technologies used to fuel it are almost a decade old. 8 years ago, I was working for a small consulting firm and asked to develop a rich application for Dow Jones / Telerate. Flash was in its infancy, and used for not much more than pretty displays (most of the hooks for data had not come into the picture yet), and JavaScript was being used heavily as a client-side development tool. For dow, we developed a prototype called TAC - Telerate Active Channels. TAC was a very simple project to illustrate how a single web page could be opened, kept open a whole day, and still receive active content as the day wore on. One of our designers developed a single web page to use for the UI. Together we worked on the DHTML and Javascript Elements, and then I needed to do the hard part - get the data there. I basically wrote a small java-based client and server application to handle the data. The server would generate random news stories and stock/fund/index quotes from data in text files. The client, a Java Applet with no UI, was able to log on to the server, subscribe to a news feed, that would automatically update the UI via JavaScript. Sound familiar? While we didn't know it at the time, we were developing technologies very much akin to AJAX and her cousin - RSS. We did it all without any real APIs, tools, or 3rd parties.
While the prototype was far off from a real application, it piqued Dow Jones interest and led to follow-on work developing Offline (yes Offline!) browser-based trading applications (one for Commercial Paper, the other for ForEx). I know what you're thinking - why would anyone need an offline browser-based application? Well back in 1997, many companies didn't have broadband, and wanted to work offline before dialing up and syncing. With some of my colleagues, we developed a local browser app that could save data to an MS access database and then synchronize when connected. I wonder if anyone is doing that with AJAX? :)
Unfortunately, Bridge Information Systems bought Telerate from Dow Jones while the project was in development, and sadly, it never got launched. Maybe I will develop an AJAX app - if not for anything else, than for old times' sake :)
Tuesday, December 06, 2005
Sharp TM-150 Review
It is very easy to give a glowing review on a new product. Quite frankly, when you review a product for a week or two, you are reviewing as much of the functionality you've been able to learn, as well as the potential you see for that product in the long run. Reviewing a product after some time however, is a different story because you should know all of the features that you are going to use, and at the same time, the potential is gone - it has either been realized or not.
In this vane, I am reviewing the Sharp TM-150 after about 10 months of use. While it is a decent phone (I do still use it every day), I must say that I am dissapointed in it overall. In general, while the megapixel camera function is decent, I found this phone to be lacking in overall features such as PIM synchronization, battery life and connectivity.
The primary reason I bought this phone, of course, was because it was one of the first Megapixel camera phones on the market. As camera phones go, it is a much better camera than most of its peers. I took the picture on the left in Megapixel mode with the camera (using the external LCD as a viewfinder). On several ocassions where I didn't have my digital or traditional camera with me, I was able to take several photos with the camera phone and print 4x6 prints with them. I have one of them (the pic just to the left of my head in the picture to the left) that I have hanging in my cubicle at work, and people still don't believe I took it with my phone.
However, it is still not a substitute for a real camera. Your arm and the subject need to be perfectly still while shooting, or else there is a considerable amount of blur. But as for the other features, this phone falls short - I can't go more than a day or two without needing a charge. But worst of all, as someone who needs a PDA, but doesn't want to carry one, this phone was useless. I bought the data kit for it - thinking that it would sync outlook and charge my phone at the same time, but all it did was enable me to load contacts onto my phone. It seems that the only way to load calendar data is by entering it using the phone's keypad, rendering it totally useless. Because the phone is only tri-band and not quad band, it suffers to get service in some areas.
In any case, this review is moot, because TMO, for the most part, doesn't even sell this phone anymore. I hope that even if I do stay with T-Mobile, that I will be able to replace this with a phone that has bluetooth outloook sync, and a much better battery life - oh, and a camera. I guess that's the only good thing to come out of this phone - I'm Jaded.
In this vane, I am reviewing the Sharp TM-150 after about 10 months of use. While it is a decent phone (I do still use it every day), I must say that I am dissapointed in it overall. In general, while the megapixel camera function is decent, I found this phone to be lacking in overall features such as PIM synchronization, battery life and connectivity.
The primary reason I bought this phone, of course, was because it was one of the first Megapixel camera phones on the market. As camera phones go, it is a much better camera than most of its peers. I took the picture on the left in Megapixel mode with the camera (using the external LCD as a viewfinder). On several ocassions where I didn't have my digital or traditional camera with me, I was able to take several photos with the camera phone and print 4x6 prints with them. I have one of them (the pic just to the left of my head in the picture to the left) that I have hanging in my cubicle at work, and people still don't believe I took it with my phone.However, it is still not a substitute for a real camera. Your arm and the subject need to be perfectly still while shooting, or else there is a considerable amount of blur. But as for the other features, this phone falls short - I can't go more than a day or two without needing a charge. But worst of all, as someone who needs a PDA, but doesn't want to carry one, this phone was useless. I bought the data kit for it - thinking that it would sync outlook and charge my phone at the same time, but all it did was enable me to load contacts onto my phone. It seems that the only way to load calendar data is by entering it using the phone's keypad, rendering it totally useless. Because the phone is only tri-band and not quad band, it suffers to get service in some areas.
In any case, this review is moot, because TMO, for the most part, doesn't even sell this phone anymore. I hope that even if I do stay with T-Mobile, that I will be able to replace this with a phone that has bluetooth outloook sync, and a much better battery life - oh, and a camera. I guess that's the only good thing to come out of this phone - I'm Jaded.
Monday, December 05, 2005
XBox bait and Switch
So apparently, there are a lot of folks out there that are trying to make a profit on the new XBOX 360. While the fact that 10% of all XBOXes sold in the first few weeks were somehow resold on eBay for a profit, I was surprised to see the linked article (click the title) that accused a local portland oregon store of a major retailer of playing bait and switch tactics.
The new XBOX seems so popular that even one of my favorite 'deals' sites - Ben's Bargains has opened his own site just to track XBOX inventory. Check it out at XBOX 360 Tracker.
Personally, I just don't understand the allure. Maybe because I am not a gamer. If I do indeed buy one (which, unless it is given to me, I won't), I would wait a few months to the point at least which it could be had for the sticker price - surely not a 150% premium!
The new XBOX seems so popular that even one of my favorite 'deals' sites - Ben's Bargains has opened his own site just to track XBOX inventory. Check it out at XBOX 360 Tracker.
Personally, I just don't understand the allure. Maybe because I am not a gamer. If I do indeed buy one (which, unless it is given to me, I won't), I would wait a few months to the point at least which it could be had for the sticker price - surely not a 150% premium!
Yonah's SQL Tip #4 - SOUNDEX and DIFFERENCE
What if your boss turned to you this week and asked you to write a simple search that looked up a contact in a database table by first or last name. On the surface it sounds easy. If your last name field was called
Seems simple enough, but not without problems. Take my last name - Wolf - for example. Let's say you knew what my last name was, but you didn't know how it was spelled - so it could be Wolf, Wolfe, Wolff, Woolf, etc. The above query would require me to try every possible spelling to find a result. So maybe as a precaution, you would try to match the beginning of the word using like:
This would do a little better, but it has two major shortcomings - It will exclude names that should be included like Woolf, for example, and will include names that shouldn't like Wolfish or Wolfson. Of course, my last name is a limited example. If we were searching for, say, Smith, searching under
Fortunately, there are two SQL functions that can help in this endeavour:
This query will give us the desired effect of matching similarly sounding names with different spellings without excluding most spellings and without including different names.
What this query does is it will find names that are not quite 'Wolf', but closely related and then rank them in order of closeness (i.e. it will match, Wolf, Wolfe, and Wolfson and they will be ranked in that order respectively).
So the next time you're in a matching bind, give
LAST_NAME your query might look like this
SELECT *
FROM CONTACTS
WHERE LAST_NAME='theName'
Seems simple enough, but not without problems. Take my last name - Wolf - for example. Let's say you knew what my last name was, but you didn't know how it was spelled - so it could be Wolf, Wolfe, Wolff, Woolf, etc. The above query would require me to try every possible spelling to find a result. So maybe as a precaution, you would try to match the beginning of the word using like:
SELECT *
FROM CONTACTS
WHERE LAST_NAME like 'wolf%'
This would do a little better, but it has two major shortcomings - It will exclude names that should be included like Woolf, for example, and will include names that shouldn't like Wolfish or Wolfson. Of course, my last name is a limited example. If we were searching for, say, Smith, searching under
Smith will also return Smithson but not alternative spellings of Smith, such as Smythe.Fortunately, there are two SQL functions that can help in this endeavour:
SOUNDEX and DIFFERENCE.SOUNDEX takes a string as an argument and returns a value that is based on the way that the string sounds (I am not 100% how this is caluculated, but it still seems to work). So re-writing our earlier query:
SELECT *
FROM CONTACTS
WHERE SOUNDEX(LAST_NAME)=SOUNDEX('WOLF') This query will give us the desired effect of matching similarly sounding names with different spellings without excluding most spellings and without including different names.
DIFFERENCE takes this one step further. It essentially takes two strings as arguments and then returns the difference of their SOUNDEX values. The difference is between 0-4, with 4 being the closest match. Using difference we can re-write the query one more time, expanding our horizons to include not-so-exact matches, but also ranking them by closeness:
SELECT *,DIFFERENCE(LAST_NAME) as RANK
FROM CONTACTS
WHERE DIFFERENCE(LAST_NAME,'WOLF')>=3
ORDER BY DIFFERENCE(LAST_NAME) DESC
What this query does is it will find names that are not quite 'Wolf', but closely related and then rank them in order of closeness (i.e. it will match, Wolf, Wolfe, and Wolfson and they will be ranked in that order respectively).
So the next time you're in a matching bind, give
DIFFERENCE and SOUNDEXa try.
Wednesday, November 30, 2005
Sometimes my predictions do come true...
The FCC’s ruling earlier this week to allow for the purchase of individual cable channels is the beginning of something that I have been predicting for a while, the unbundling of broadband access from the applications that run over it. This is the first step in basically allowing us, the consumers, a choice of broadband providers that is different and independent of the choice of the application and service providers that provide us services over the IP network.
To better illustrate this, imagine if you will, that your local gas company not only charged you for the gas provided to your home, but also dictated how high you could turn your oven, or which specific cycles you could use with your dryer. Sound crazy, no? But this is exactly what the phone and cable companies do – they charge you for both the delivery mechanism (either dial tone or cable service) and then dictate how you can use those services (in fact, it was only about 25 years ago, that the phone company began to even let you plug in your own phone into the wall jack). So far, Voice over IP (VoIP) has shown us how we don’t need the phone company to provide us with phone service. In fact, I can even get cable and/or DSL service and cut out the local phone company altogether. As phone, cable, and software companies roll-out IPTV services, it is not easy to see how the cable and phone companies are at a crossroads.
Before long, as long as I have IP service at home, I can shop online for phone service, TV and video content, and a bunch of other things that we haven’t thought of yet.
Critics (read: cable companies and broadcasters) of the plan indicate that this will kill independent channels that will not have enough audience to stay afloat. As a consumer who has no need for, say, five discovery channels, I say: a) Why should I subsidize them? and b) Who cares? While I do think that this will kill some small independent channels, I don’t think it will do too much damage to the TV production industry – because on demand will change the way we think about TV. The reason we need channels right now is because we haven’t mass-marketed the technology to deliver on-demand TV and Video. We need five discovery channels because someone might want to watch 8 hours of The Crocodile Hunter while another wants to watch American Chopper. But with on-demand, there is no need for channels, so long as the video is on a server out there and my TV has a way of downloading it. Because programming an entire schedule isn’t necessary, there is no need for broadcasting one – all we need is a good search engine for video, and a credit card account (Oh, so that’s why Google created Google Video ().
Let’s hope that the FCC wins this one, and our living rooms finally catch up to our server rooms as far as technology is concerned.
To better illustrate this, imagine if you will, that your local gas company not only charged you for the gas provided to your home, but also dictated how high you could turn your oven, or which specific cycles you could use with your dryer. Sound crazy, no? But this is exactly what the phone and cable companies do – they charge you for both the delivery mechanism (either dial tone or cable service) and then dictate how you can use those services (in fact, it was only about 25 years ago, that the phone company began to even let you plug in your own phone into the wall jack). So far, Voice over IP (VoIP) has shown us how we don’t need the phone company to provide us with phone service. In fact, I can even get cable and/or DSL service and cut out the local phone company altogether. As phone, cable, and software companies roll-out IPTV services, it is not easy to see how the cable and phone companies are at a crossroads.
Before long, as long as I have IP service at home, I can shop online for phone service, TV and video content, and a bunch of other things that we haven’t thought of yet.
Critics (read: cable companies and broadcasters) of the plan indicate that this will kill independent channels that will not have enough audience to stay afloat. As a consumer who has no need for, say, five discovery channels, I say: a) Why should I subsidize them? and b) Who cares? While I do think that this will kill some small independent channels, I don’t think it will do too much damage to the TV production industry – because on demand will change the way we think about TV. The reason we need channels right now is because we haven’t mass-marketed the technology to deliver on-demand TV and Video. We need five discovery channels because someone might want to watch 8 hours of The Crocodile Hunter while another wants to watch American Chopper. But with on-demand, there is no need for channels, so long as the video is on a server out there and my TV has a way of downloading it. Because programming an entire schedule isn’t necessary, there is no need for broadcasting one – all we need is a good search engine for video, and a credit card account (Oh, so that’s why Google created Google Video ().
Let’s hope that the FCC wins this one, and our living rooms finally catch up to our server rooms as far as technology is concerned.
Subscribe to:
Posts (Atom)
