Search
The Way of the Software Engineer

The iPhone SDK is Calling Collect

Posted by admin on July 24th, 2008

I recently borrowed an iPod Touch from a friend and co-worker to play with the new 2.0 firmware version and App Store.  There’s a lot of potential with this new platform.  The very attractive device, capable hardware and ridiculous hype associated with iPhone makes it a great platform for developers to get wide exposure for simple applications (just google on iBeer).  The development tools - particularly Interface Builder - are top-notch.  I was looking for blogs and forums that had iPhone development tutorials to get the “tips and tricks” view of these tools, but I came up dry.  I did come across a few articles that have begun to address this lack of useful information.  Basically, the licensing agreement for the SDK is a gag order preventing developers from releaseing their code or writing about the SDK.

Read the rest of this entry »

Behavioural Location Tracking

Posted by admin on May 26th, 2008

SkyHook Wireless is sitting on the greatest behavioral corpus known to man. This software that powers the location based services for the Apple iPhone and iPod Touch is a self-learning map of wireless access point to GPS locations. They seeded this database over the past several years by war driving across the US and recording the ESSIDs and MAC addresses of wireless access points and GPS locations of all the exposed wireless networks they found. Read the rest of this entry »

Yahoo SearchMonkey

Posted by admin on May 23rd, 2008

Yahoo has published another tool in their series of open technologies called SearchMonkey.  The principle is that website owners can create a “data service” that runs an XSLT on their site output and then pipe it to a “presentation application” that produces a custom L&F for search results relating to your site.

CodeMonkey Enhanced Search Results

Read the rest of this entry »

OCR with Tesseract

Posted by admin on May 13th, 2008

Optical Character Recognition is one of those technologies that has been around for a long time and never quite met customer demands. This is a common AI application, but I thought I’d see what’s currently available publicly instead of trying to write my own from scratch. The primary options I found were PHPOCR, GOCR, and Tesseract. PHPOCR is a system written by a developer in the Ukraine as a platform for further OCR research. The examples were very easy to get working, but it’s not the quickest solution for my project. GOCR is generally considered the market winner. It installs easily via the OS X macports tree, and works quickly on the command line. I also downloaded Tesseract, but with GOCR’s ease of use and prevalence in the open source community, I thought I’d try that first. Read the rest of this entry »

Open Calais

Posted by admin on May 8th, 2008

In February, the OpenCalais project was slashdotted because it had opened a bounty on a WordPress plug-in to produce RDF formatted version of blog posts.  The project sounded interesting, and my previous semantic web project had just stalled.  The specification was very loose, so I assumed that they were expecting a simple alpha that could be expanded on.  So, I signed up for the project and began hacking away at a simple plugin.  I spent a couple hours on it and stopped.  I realized I wouldn’t be able to work on it for several days and by that time my entry would be lost.  I was expecting OpenCalais to be inundated with so many entries from the slashdot community they would close the submissions in 48 hours.  Boy was I wrong.

Read the rest of this entry »

Google “We’re Sorry…”

Posted by admin on April 1st, 2008

Apparently Google has finally gotten sick of spyware authors taking advantage of them and have devised a system for preventing automated searches. Unfortunately, they’re just blocking entire IP blocks from using their service. This means that large corporate networks who’s outbound net goes through a small number of IPs gets entirely blocked from Google access.

“We’re Sorry… … but your query looks similar to automated requests from a computer virus or spyware application. To protect our users, we can’t process your request right now.

We’ll restore your access as quickly as possible, so try again soon. In the meantime, if you suspect that your computer or network has been infected, you might want to run a virus checker or spyware remover to make sure that your systems are free of viruses and other spurious software.

If you’re continually receiving this error, you may be able to resolve the problem by deleting your Google cookie and revisiting Google. For browser-specific instructions, please consult your browser’s online support center.

If your entire network is affected, more information is available in the Google Web Search Help Center.

We apologize for the inconvenience, and hope we’ll see you again on Google.
To continue searching, please type the characters you see below:”

Google is sorry

Of course, considering the date this could just be a well crafted joke.

Conditional Independence

Posted by admin on February 28th, 2008

An honest man is flipping a fair coin. After flipping ‘heads’ seven times in a row, a banker walks up and offers the honest man a bet of $50 if the next flip is ‘heads’. The banker hasn’t seen the previous seven flips. Should the honest man take the bet?

More importantly, do the previous flips effect the outcome of the next?

Read the rest of this entry »

Gmail down?

Posted by admin on February 28th, 2008

This is new for me. I’ve never seen gmail down before. I have several accounts, and one of them came up with this message:

We’re sorry, but your Gmail account is currently experiencing errors. You won’t be able to use your account while these errors last, but don’t worry, your account data and messages are safe. Our engineers are working to resolve this issue.

Please try accessing your account again in a few minutes.

Here’s a screen shot.  Very odd.

Gmail 502

Bluetooth Identification

Posted by admin on February 17th, 2008

Note: I wrote this several months ago and never published it because I felt it was unfinished. However, this is a good introduction to another article I’m writing so I’m publishing it before it’s quite complete.

Update (4/21/08): Looks like my discussion on tracking by Bluetooth has actually been done by the CS department of the University of Bath, so this is no longer just conjecture.

Bluetooth radios have been in hand held devices for years, but people frequently turned these features off to conserve battery life and increase security. However, Bluetooth hands-free earpieces are becoming more popular and these require the radio to be turned on. The device and ear piece must occasionally send data between them to make sure the paring is still active. Any Bluetooth radio can listen to this communication and determine basic information about the two devices. It’s then possible to attempt a connection to each device and find further information including the manufacturer of the radio, version information of the device firmware and supported Bluetooth services. Theoretically, this information can be obtained from any Bluetooth device from keyboards to cars. Read the rest of this entry »

WordPress e-Commerce Plug-In

Posted by admin on December 16th, 2007

I recently built a simple e-commerce site for a friend. As the design of the site was paramount, she found that starting with WordPress and building up a theme gave her the look and feel she was going for. Now, the difficult part of that is the lack of integration between WordPress and e-Commerce systems. ZenCart has long been considered the granddaddy of open source shopping carts, but I have yet to see an effective paring of ZenCart and WordPress.

There does exist a WP e-Commerce plug-in produced by Instinct in New Zealand. So, using their latest version (3.6beta3) I began building this site. Now, the front end of the Instinct package is quite nice. It installs quickly and the user facing interface is easy for beginners to understand.

The problems start when you try to extend it. It has absolutely no data abstraction of any kind. SQL is all over every module of code, including making the same static query inside loops. I made some significant changes to the instinct package and tried to push my changes back to the original developers at Instinct. I’ve had very little response from the developers about including my changes in their releases. (one or two emails and then nothing). I’m considering forking the code and releasing my changes so the large installed base of this application has somewhere to turn to. Their forums are filled with people having problems with the plug-in and most of the problems could be fixed with better SQL handling.

I’ve added features such as: Read the rest of this entry »