Friday, January 27, 2006

Microsoft on Search

Christopher Payne, Corporate Vice President of MSN Search for Microsoft, will be talking about search at Stanford's Computer Systems Colloquium on February 1st. This is a rare opportunity to get Microsoft's view on the search space.

-jk

Thursday, January 26, 2006

Phonebites

There is this cool little startup in SF called Phonebites. They make a fun, novel product call RAZZ. For those keeping score at home, I joined the company and will start on Monday.

-jk

Wednesday, January 25, 2006

Douglas Hafstader at Stanford Humanity Center

While walking home from lunch a poster cought my eye. will be at the . When I was studying in grad school, his papers were very influencial. This lecture is entitled "Analogy as the Core of Cognition". I don't see an abstract but I'll bet it's going to a great talk.

-jk

Tuesday, January 24, 2006

Cloning an existing Symbian project

Here is a simple perl script which I released under GPL. I've found it useful when starting a new Symbian project. It copies the well-known files in an existing project to a new project location. The project name is updated in the source and header files. See the source file for details on usage.

Yes, there is still work for the developer to do. For example, one needs to update the UID and NAME the mmp file. However, it eliminates a lot of tedious, time consuming, grunt work.

-jk

Sunday, January 22, 2006

Doug Engelbart, Collective IQ and the environment

At the Future Salon, Doug Engelbart spoke about his life's work which can be summed up in this mission statement. "As much as possible, to boost mankind's collective capability for coping with complex, urgent problems." His grand challenge is mind-boggling in scope. This is appropriate as society has huge problems.

He thought that many of the environmental problems we face are fertile group for Collective IQ. These issues are one of the global and vexing problems of our age. How can we increase our collective understanding of the problems we face? Since many stakeholders want to use the same resource, how can we create a deeper understanding of all the processes involved? How can we measure the health of the planet?

As a software engineer, I find myself asking how computers can be applied to this problem. Can computers be used to visualize environmental problems? Since this problem is inherently interdisciplinary, is there a way to coalesce the vocabulary to create a greater understanding? While I wouldn't hesitate to use Collective IQ or techniques, a simpler approach of surveying the existing body of work piqued my interest. What online resources to well-known institutions publish(e.g., USGS, EPA, etc) ? Perhaps, techniques can coalesce similar or complimentary resources. techniques may bring interdisciplinary research togeter.

tags: , , , ,

-jk

Saturday, January 21, 2006

CDC project to alert citizens in an epidemic

How do you get the word out to the citizens when an epidemic strikes? How do you give them vital information about what to do or not do? MIT Technology review has an interest article about a CDC project addressing this issue. Basically, the user registers with the CDC (you must opt-in). Should an epidemic happen, the CDC server will notify user via SMS. GPS will be used to determine who is in the effected area.

-jk

Thursday, January 19, 2006

Revisiting a phone security breach.

Almost a year ago, photos were stolen from a well known person's phone. In a previous post, I speculated about how this might have happened. Recently I ran into someone who knew.

The criminals got physical access to the phone. The cellular provider used a technique commonly seen on the web when users forget one of the plethora of passwords they are asked to remember. The website simply emails the password to the registered email address. This works reasonably well. Desktop operating systems have the concept of a user who authenticates to log into the system. Also, it is more difficult to gain access to a desktop system. Laptops are a different story as they are getting smaller and more common.

This cellular provider would SMS the password to users who forget it. The criminals who had the stolen phone simply clicked on the "I forget my password" button and the password was sent via SMS to them. Viola! They had access to the photos.

-jk

Friday, January 13, 2006

Symbian Programming SIG: Sockets and Active Objects

The January meeting of the Symbian programming SIG will be at the Mozilla Foundation on the 31st. Here are the details.

What: Symbian Programming SIG meeting (Topic: Sockets and Active Objects)
When: January 31st, 7PM
Where: Mozilla Foundation, 1981 Landings Drive, Build K, Mountain View, CA - directions
Speaker: John Kern
Audience: Anyone interested in programming Symbian devices.
Cost: Nothing!

Abstract: Symbian is an advanced contemporary OS. I admire the client/server architecture. In conjunction with Active Objects, it provides an effective and easy to use mechanism for both interprocess communication and asynchronous function calls. Unlike UNIX, socket programming on Symbian makes heavy use of Active Objects. This talk compares a simple POSIX/C client application with the Symbian equivalent. We'll explain the basics of Active Object usage while exploring some variations on a trivial socket application.

-jk

Wednesday, January 11, 2006

Microformats

Last nights Emerging tech SIG was about . Ryan King started us off with a brief tutorial. The goal of these formats is to drive convergence on types which are already heavily used on the web. For example, they have defined hCard (i.e., contact information) and hCalendar (i.e., dates). In keeping with another design goal of reuse, they have based them on .

It should also be noted that they are not trying to completely define all semantics for the web. They intentionally are leaving that for other groups.

tags: , ,

-jk

Saturday, January 07, 2006

FreeMind - a tool for manipulating Mind Maps

Last night I met an old friend at cafe Bourne in Menlo Park. He showed my a new software program for creating and manipulating Mind Maps. It is a very handy technique for brain storming. I first read about it in a book about proposal writing. The software program he mentioned was FreeMind which runs on all desktop platforms. FreeMind made short work of all the post-it notes and 3x5 cards I had littering my office. So, my initial reaction is very positive.

-jk

Friday, January 06, 2006

Yahoo! Go for Series 60

Yahoo! released their Yahoo! Go product today. It provides a client for Series 60 phones which email, IM and synchronization with Yahoo's address and calendar web applications. Chistian Lindholm has an excellent writeup on it.

-jk

Thursday, January 05, 2006

SSL/TLS with Symbian Sockets.

Building on the Symbian Daytime client I mentioned in a previous post, let's look at Symbian's SSL/TLS implementation. Symbian provides both SSLv3 and TLSv1. These are the important ones. If a server is still using SSLv2, it should be updated.

The main classes are CSecureSocket and MSecureSocket. We'll need to add another state to our Active Object which creates a CSecureSocket object and starts the asynchronise handshake between the client and the server.

case EConnecting:
{


// connected. now let's make the socket secure.
iSecureSocket = CSecureSocket::NewL(iSock, KSSL3);

// Start the SSL handshake process
SetState(ESecureHandshake);
iSecureSocket->StartClientHandshake(iStatus);
SetActive();

break
;
}
Initially, the program tried to connect via SSLv3 with www.mozilla.org as the server. SSL was not able to validate the certificate. Why? Mozilla uses XRamp as the Certificate Authority(CA). This CA wasn't known to my handset.

On a nokia 6600(series 60), you can check which CA's are installed on your phone with the Certificate Manager. Go to the tools folder and start the settings application. Select 'Security' from the list and 'Certif. management' from the next. You'll see a tabbed list displaying the CA's on the handset.

-jk

Tuesday, January 03, 2006

AJAX on Mobile

Tom Hume points to Ajit Jaokar's post promoting AJAX on mobile. I particularly like Jaokar's simple steps to segment the market. All to often I meet a businessman who sees a zillion mobile phones and wants to be on all of them but they don't understand the cost.

While Hume then offers some good technically criticism to temper Jaokar's enthusiasm, the case for web applications is an economic one.
  • While Jaokar mentions the overall cost of porting, he doesn't mention the additional costs the telco's place on the software development process for applications(eg., Symbian, J2ME, etc). see previous post. AJAX wouldn't be subject to the carrier's awkward and monolithic release process.
  • Where is the content? The web.
I encourage you to read both posts.

-jk