<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-10428183</id><updated>2011-11-27T15:56:01.963-08:00</updated><category term='computer security'/><category term='Mobile Monday'/><category term='green phone'/><title type='text'>Kern Computing</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default?start-index=101&amp;max-results=100'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>409</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-10428183.post-8504574266693704235</id><published>2011-10-26T07:29:00.000-07:00</published><updated>2011-10-31T14:02:37.158-07:00</updated><title type='text'>Sequence Squeeze Contest</title><content type='html'>Hello, &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.pistoiaalliance.org/"&gt;Pistoia Alliance&lt;/a&gt;, a trade group composed of big pharma and a bunch of informatics companies, is sponsoring a contest.  The &lt;a href="http://www.sequencesqueeze.org/"&gt;SequenceSqueeze&lt;/a&gt; challenges developers to develop an open source compression algorithm for Next Generation Sequencing(NGS) data. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-jk&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8504574266693704235?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8504574266693704235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8504574266693704235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8504574266693704235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8504574266693704235'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2011/10/sequence-squeeze-contest.html' title='Sequence Squeeze Contest'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4454276435491439954</id><published>2011-10-12T18:03:00.000-07:00</published><updated>2011-10-12T18:07:45.341-07:00</updated><title type='text'>ACM hosts Data Mining Camp</title><content type='html'>&lt;div&gt;Hello, &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These days massive amounts of data from a wide diversity of sources. I very interested in investigating how we can leverage data in general.  The &lt;a href="http://sfbayacm.org"&gt;local chapter of the ACM&lt;/a&gt; has organized a &lt;a href="http://sfbayacm.org/event/data-mining-camp-october-2011"&gt;data mining camp&lt;/a&gt; this Saturday. I'm planning to attend. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The morning &lt;a href="http://www.sfbayacm.org/introduction-mining-big-data-map-reduce"&gt;session&lt;/a&gt; is an introduction to MapReduce. It looks pretty rigorous. Looking forward to it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-jk&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4454276435491439954?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4454276435491439954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4454276435491439954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4454276435491439954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4454276435491439954'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2011/10/acm-hosts-data-mining-camp.html' title='ACM hosts Data Mining Camp'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6877605389833310046</id><published>2011-07-11T07:40:00.000-07:00</published><updated>2011-07-11T08:27:18.364-07:00</updated><title type='text'>Learning from Extremes</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Charles Leadbeater gave a provocative TED talk called "Education innovation in the slums". &lt;/div&gt;&lt;br /&gt;&lt;!--copy and paste--&gt;&lt;object width="446" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;param name="bgColor" value="#ffffff"&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/CharlesLeadbeater_2010S-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TedTalks-1609.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=892&amp;amp;lang=eng&amp;amp;introDuration=15330&amp;amp;adDuration=4000&amp;amp;postAdDuration=830&amp;amp;adKeys=talk=charles_leadbeater_on_education;year=2010;theme=how_we_learn;theme=unconventional_explanations;event=TEDSalon+London+2010;tag=Global+Issues;tag=education;tag=innovation;&amp;amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgcolor="#ffffff" width="446" height="326" allowfullscreen="true" allowscriptaccess="always" flashvars="vu=http://video.ted.com/talks/dynamic/CharlesLeadbeater_2010S-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TedTalks-1609.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=892&amp;amp;lang=eng&amp;amp;introDuration=15330&amp;amp;adDuration=4000&amp;amp;postAdDuration=830&amp;amp;adKeys=talk=charles_leadbeater_on_education;year=2010;theme=how_we_learn;theme=unconventional_explanations;event=TEDSalon+London+2010;tag=Global+Issues;tag=education;tag=innovation;"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He offers many references to interesting people and projects. It can be tough catching them in the video.  However, it is easy to find them in the companion white paper called &lt;a href="http://www.getideas.org/learning-extremes"&gt;Learning from Extremes&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I particularly like the simply graph comparing setting (i.e., formal vs informal) and innovation type(i.e., sustaining vs disruptive).  &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;"Improve schools through better facilities, teachers, and leadership." (sustaining/formal)&lt;/li&gt;&lt;li&gt;"Supplement schools by working with families and communities." (sustaining/informal)&lt;/li&gt;&lt;li&gt;"Reinvent schools to create an education better fit for the times." (disruptive/formal)&lt;/li&gt;&lt;li&gt;"Transform learning by making it available in radically new ways." (disruptive/informal)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Many of the ideas he presents come for other countries like &lt;a href="http://www.hole-in-the-wall.com/"&gt;Sugara Mitra Hole in the Wall&lt;/a&gt; project in India or Rodrigo Baggio's &lt;a href="http://en.wikipedia.org/wiki/Center_for_Digital_Inclusion"&gt;Centre for Digitial Inclusion&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-jk&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6877605389833310046?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6877605389833310046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6877605389833310046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6877605389833310046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6877605389833310046'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2011/07/learning-from-extremes.html' title='Learning from Extremes'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-7456650223673852452</id><published>2011-07-10T08:15:00.000-07:00</published><updated>2011-07-28T13:20:20.307-07:00</updated><title type='text'>Learning environments - adapting to change</title><content type='html'>&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span id="internal-source-marker_0.024006027495488524" style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;I'm taking a sabbatical.  Initially, I was trying to apply computers to environmental issues. While there is a lot happening with alternative energy, the smart gird and optimizing supply chains, I found I was specifically interested in biodiversity and conservation. Sadly, there isn't much happening here. &lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="white-space: pre-wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; background-color: transparent;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;After struggling with this, I hit a small epiphany. I was watching a &lt;a href="http://www.ted.com/talks/nic_marks_the_happy_planet_index.html"&gt;TED talk by Nic Marks&lt;/a&gt; on the happiness index. &lt;object width="446" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;param name="bgColor" value="#ffffff"&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/NicMarks_2010G-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/NicMarks-2010G.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=944&amp;amp;lang=&amp;amp;introDuration=15330&amp;amp;adDuration=4000&amp;amp;postAdDuration=830&amp;amp;adKeys=talk=nic_marks_the_happy_planet_index;year=2010;theme=a_taste_of_tedglobal_2010;theme=what_makes_us_happy;event=TEDGlobal+2010;tag=Culture;tag=Global+Issues;tag=data;tag=economics;tag=happiness;tag=statistics;tag=tedbooks;&amp;amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;"&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgcolor="#ffffff" width="446" height="326" allowfullscreen="true" allowscriptaccess="always" flashvars="vu=http://video.ted.com/talks/dynamic/NicMarks_2010G-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/NicMarks-2010G.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=944&amp;amp;lang=&amp;amp;introDuration=15330&amp;amp;adDuration=4000&amp;amp;postAdDuration=830&amp;amp;adKeys=talk=nic_marks_the_happy_planet_index;year=2010;theme=a_taste_of_tedglobal_2010;theme=what_makes_us_happy;event=TEDGlobal+2010;tag=Culture;tag=Global+Issues;tag=data;tag=economics;tag=happiness;tag=statistics;tag=tedbooks;"&gt;&lt;/embed&gt;&lt;/object&gt; While I strongly agreed with it morally, I'm not convinced we can measure happiness. Anyway, he presented a chart. On the X axis is natural resource consumption and the Y axis is "happiness". As you would expect, Western nations were in the upper right. They consume a lot of natural resources and are pretty happy. Nations in the lower left were mostly failed states where life is short and brutish. He highlighted a country that is light on natural resources and is pretty happy: Costa Rica. He went on to talk about the billions of people that will be coming on the planet and wanting a Western lifestyle. Most of whom will start life in slums of large cities. Normally when I think about this line of reasoning, providing people with material goods (e.g., cars, refrigerators, toasters etc.) comes to mind. However I have recently been reading some work by John Seely Brown former head of PARC. He just wrote a book called A &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre-wrap; "&gt;New &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px; white-space: pre-wrap; "&gt;Culture of Learning. He observes change is accelerating. Over the course of the book he considers how computers systems can help people develop advanced learning environments. In addition to materialistic things, this new population will want an education. Standard methodologies of building schools and staffing them with teachers and faculty will not scale. Can we create learning environments where people could learn outside of the establishment? Many people consider the population explosion in environmental disaster. Can we turn that on its head by providing learning environments which allow them to collaborate and adapt to change quickly?&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;-jk&lt;/span&gt;&lt;/div&gt;&lt;div style="background-color: transparent; margin-top: 0px; margin-left: 0px; margin-bottom: 0px; margin-right: 0px; "&gt;&lt;span style="font-size: 10pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-7456650223673852452?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/7456650223673852452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=7456650223673852452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7456650223673852452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7456650223673852452'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2011/07/im-taking-sabbatical.html' title='Learning environments - adapting to change'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-7234105012809705100</id><published>2010-10-22T12:43:00.000-07:00</published><updated>2010-10-22T13:04:02.597-07:00</updated><title type='text'>Qt Quick: using QML to rotate text.</title><content type='html'>&lt;div&gt;Hello, &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Qt Quick makes fluid UI creation much easier than ever before and allows one to seamlessly let UX designer and C++ developers work together on the same source code. With release 4.7.0, Qt Quick provides the fundamental UI primatives to create fluid UIs.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The cornerstone of Qt Quick is QML.  It is a declarative language which extends Javascript. It is designed for writing UI.  In this post, let's look at some code which simply animates some text to get a feel for the syntax and structure.  Consider this code.&lt;/div&gt;&lt;div&gt;&lt;pre&gt;Rectangle&lt;span class="operator"&gt; {&lt;/span&gt;&lt;br /&gt;  id&lt;span class="operator"&gt;:&lt;/span&gt; rectangle1&lt;br /&gt;  width&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="int"&gt; 360&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;  height&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="int"&gt; 640&lt;/span&gt;&lt;br /&gt;  color&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; "brown"&lt;/span&gt;&lt;br /&gt;  Text&lt;span class="operator"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;      color&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; "green"&lt;/span&gt;&lt;br /&gt;      text&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; "Hello World"&lt;/span&gt;&lt;br /&gt;      anchors&lt;span class="operator"&gt;.&lt;/span&gt;top&lt;span class="operator"&gt;:&lt;/span&gt; parent&lt;span class="operator"&gt;.&lt;/span&gt;top&lt;br /&gt;      font&lt;span class="operator"&gt;.&lt;/span&gt;pointSize&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="int"&gt; 24&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;      font&lt;span class="operator"&gt;.&lt;/span&gt;bold&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="bool"&gt; true&lt;/span&gt;&lt;span class="operator"&gt;&lt;br /&gt;  }&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here we define a brown Rectangle which will define the background. Text simple defines green text element which says "Hello World". Since the text is anchored to the top of the Rectangle, it will appear at the top of the screen. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let's animate the text, so that, it will move to the bottom of the screen. To do this we will define another state for the text. By declaring the Text element, we have already defined an implicit state. In addition, we will need to define a Transition element. This tells the Qt runtime how to move between these states. Here is the updated Text element.&lt;/div&gt;&lt;div&gt;&lt;pre&gt; Text&lt;span class="operator"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;     id&lt;span class="operator"&gt;:&lt;/span&gt; helloText&lt;br /&gt;     color&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; "green"&lt;/span&gt;&lt;br /&gt;     text&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; "Hello World"&lt;/span&gt;&lt;br /&gt;     font&lt;span class="operator"&gt;.&lt;/span&gt;pointSize&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="int"&gt; 24&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;     font&lt;span class="operator"&gt;.&lt;/span&gt;bold&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="bool"&gt; true&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;br /&gt;// Respond to mouse(tap) events.&lt;br /&gt;&lt;/span&gt;        MouseArea&lt;span class="operator"&gt; {&lt;/span&gt; id&lt;span class="operator"&gt;:&lt;/span&gt; mouseArea&lt;span class="operator"&gt;;&lt;/span&gt; anchors&lt;span class="operator"&gt;.&lt;/span&gt;fill&lt;span class="operator"&gt;:&lt;/span&gt; parent&lt;span class="operator"&gt; }&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;br /&gt;// When the text is pressed, move, rotate and change the color to yellow.&lt;br /&gt;&lt;/span&gt;        states&lt;span class="operator"&gt;:&lt;/span&gt; State&lt;span class="operator"&gt; {&lt;/span&gt;&lt;br /&gt;         name&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; "down"&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt; when&lt;span class="operator"&gt;:&lt;/span&gt; mouseArea&lt;span class="operator"&gt;.&lt;/span&gt;pressed&lt;span class="operator"&gt; ==&lt;/span&gt;&lt;span class="bool"&gt; true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;         PropertyChanges&lt;span class="operator"&gt; {&lt;/span&gt; target&lt;span class="operator"&gt;:&lt;/span&gt; helloText&lt;span class="operator"&gt;;&lt;/span&gt; y&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="int"&gt; 555&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt; rotation&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="int"&gt; 180&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt; color&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; "yellow"&lt;/span&gt;&lt;span class="operator"&gt; }&lt;br /&gt;     }&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt;&lt;br /&gt;// How do we get from the implicit state to the down sate?&lt;br /&gt;&lt;/span&gt;        transitions&lt;span class="operator"&gt;:&lt;/span&gt; Transition&lt;span class="operator"&gt; {&lt;/span&gt;&lt;br /&gt;         from&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; ""&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt; to&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; "down"&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt; reversible&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="bool"&gt; true&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;         ParallelAnimation&lt;span class="operator"&gt; {&lt;/span&gt;&lt;br /&gt;             NumberAnimation&lt;span class="operator"&gt; {&lt;/span&gt; properties&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="string"&gt; "y,rotation"&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt; duration&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="int"&gt; 500&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt; easing&lt;span class="operator"&gt;.&lt;/span&gt;type&lt;span class="operator"&gt;:&lt;/span&gt; Easing&lt;span class="operator"&gt;.&lt;/span&gt;InOutQuad&lt;span class="operator"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;             ColorAnimation&lt;span class="operator"&gt; {&lt;/span&gt; duration&lt;span class="operator"&gt;:&lt;/span&gt;&lt;span class="int"&gt; 500&lt;/span&gt;&lt;span class="operator"&gt; }&lt;br /&gt;         }&lt;br /&gt;     }&lt;br /&gt; }&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The state "down" changes three properties: the y coordinate, rotations the text 180 degrees and changes the color to yellow. This is simply a declaration. Without a transtion, nothing happens. This transition goes from the implicit state, represented by an empty string, to the "down" state. It applies to animates in parallel. The first modifies the y value by rotating it and moving it down to the y coordinate defined by the "down" state. The other amiation changes the color from green to yellow. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Reference: Check out the QML tutorial on &lt;a href="http://doc.qt.nokia.com/4.7/qml-tutorial3.html"&gt;states and transitions&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-jk&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-7234105012809705100?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/7234105012809705100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=7234105012809705100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7234105012809705100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7234105012809705100'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/10/qt-quick-using-qml-to-rotate-text.html' title='Qt Quick: using QML to rotate text.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-7475143653903337553</id><published>2010-10-08T09:08:00.000-07:00</published><updated>2010-10-17T18:44:40.084-07:00</updated><title type='text'>Nokia Developer Days - Hands on workshop with N8</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;Hello,&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Nokia's N8 has hit the street. Nokia Developer Days is going on tour with the first Symbian^3 device. Here is the line up of cities. &lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://tinyurl.com/2vs7can"&gt;Toronto&lt;/a&gt;, Oct 13-14&lt;/li&gt;&lt;li&gt;&lt;a href="http://tinyurl.com/37jukbn"&gt;Austin&lt;/a&gt;, Oct 19-20 &lt;/li&gt;&lt;li&gt;&lt;a href="http://tinyurl.com/3yk7zfh"&gt;Silicon Valley&lt;/a&gt;, Nov 9-10&lt;/li&gt;&lt;li&gt;&lt;a href="http://tinyurl.com/38vd2ea"&gt;Seattle&lt;/a&gt;, Nov 15-16 &lt;/li&gt;&lt;li&gt;&lt;a href="http://tinyurl.com/32lv4pr"&gt;Vancouver&lt;/a&gt;,Nov 18-19&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;For a face to face consultation with a UX specialist who can give you concrete tips on how to improve the design of your app, email your request &lt;a href="mailto:ravi.belwal@nokia.com"&gt;Ravi Belwal&lt;/a&gt;. &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Update&lt;/b&gt;: This is co-sponsored by &lt;a href="http://www.ics.com/"&gt;ICS&lt;/a&gt;.  I saw them last year at the Qt Developer Days in San Francisco.  They did a great job.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-jk&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-7475143653903337553?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/7475143653903337553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=7475143653903337553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7475143653903337553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7475143653903337553'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/10/nokia-developer-days-hands-on-workshop.html' title='Nokia Developer Days - Hands on workshop with N8'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6640578138244409365</id><published>2010-06-29T09:17:00.000-07:00</published><updated>2010-07-01T10:10:09.918-07:00</updated><title type='text'>Tech Tip: Signing and Qt Apps.</title><content type='html'>&lt;div&gt;Hello,&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Qt apps on Symbian are subject to the same signing requirements as native applications. Here are two tips for troubleshooting these problems.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) You can use the elf2e32 command to dump out the capabilities a particular executable requires.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;C:\S60\devices\S60_5th_Edition_SDK_v1.0\epoc32\release\gcce\udeb&gt;elf2e32 --dump=s --e32input=Location117.exe&lt;/div&gt;&lt;div&gt;E32ImageFile 'Location117.exe'&lt;/div&gt;&lt;div&gt;Secure ID: ea7353f1&lt;/div&gt;&lt;div&gt;Vendor ID: 00000000&lt;/div&gt;&lt;div&gt;Capabilities: 00000000 00020000&lt;/div&gt;&lt;div&gt;              Location&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) I love the way Qt Creator seamlessly installs the application on the device.  In the case where the capabilities are incorrect, the error message isn't too helpful. If you take the same sis file and install it on the handset manually, you are likely to get a different error. While these errors are vague, they are &lt;a href="http://developer.symbian.org/wiki/index.php/Troubleshooting_Installation_Errors"&gt;well-documented&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-hth&lt;/div&gt;&lt;div&gt;John&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6640578138244409365?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6640578138244409365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6640578138244409365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6640578138244409365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6640578138244409365'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/06/tech-tip-signing-and-qt-apps.html' title='Tech Tip: Signing and Qt Apps.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-394314928127270597</id><published>2010-05-12T14:47:00.000-07:00</published><updated>2010-05-12T15:06:26.603-07:00</updated><title type='text'>Test location based apps w/ Qt Simulator via Qt Script</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Qt provides a facility to allow you to extend your application with a scripting language called QtScript.  It provides full support for &lt;a href="http://www.ecma-international.org/publications/standards/ecma-262.htm"&gt;ECMAScript Edition 3&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Qt Creator has introduced the &lt;a href="http://doc.qt.nokia.com/qt-simulator-beta/simulator-description.html"&gt;Qt Simulator&lt;/a&gt;. QtScript can be used to automate the events. Consider this script.&lt;br /&gt;&lt;pre&gt;function loc&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="type"&gt;long&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt; lat&lt;span class="operator"&gt;)&lt;br /&gt;{&lt;/span&gt;&lt;span class="keyword"&gt;&lt;br /&gt;   this&lt;/span&gt;&lt;span class="operator"&gt;.&lt;/span&gt;&lt;span class="type"&gt;long&lt;/span&gt;&lt;span class="operator"&gt; =&lt;/span&gt;&lt;span class="type"&gt; long&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;&lt;span class="keyword"&gt;&lt;br /&gt;   this&lt;/span&gt;&lt;span class="operator"&gt;.&lt;/span&gt;lat&lt;span class="operator"&gt; =&lt;/span&gt; lat&lt;span class="operator"&gt;;&lt;br /&gt;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;var caltrain&lt;span class="operator"&gt; =&lt;/span&gt;&lt;span class="keyword"&gt; new&lt;/span&gt; Array&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;caltrain&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="char"&gt;'FosterCity'&lt;/span&gt;&lt;span class="operator"&gt;] =&lt;/span&gt;&lt;span class="keyword"&gt; new&lt;/span&gt; loc&lt;span class="operator"&gt; (-&lt;/span&gt;&lt;span class="float"&gt;122.297856&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="float"&gt; 37.539282&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;caltrain&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="char"&gt;'Belmont'&lt;/span&gt;&lt;span class="operator"&gt;] =&lt;/span&gt;&lt;span class="keyword"&gt; new&lt;/span&gt; loc&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="float"&gt;122.276582&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="float"&gt; 37.521838&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;caltrain&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="char"&gt;'SanCarlos'&lt;/span&gt;&lt;span class="operator"&gt;] =&lt;/span&gt;&lt;span class="keyword"&gt; new&lt;/span&gt; loc&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="float"&gt;122.260011&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="float"&gt; 37.507925&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;caltrain&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="char"&gt;'RedwoodCity'&lt;/span&gt;&lt;span class="operator"&gt;] =&lt;/span&gt;&lt;span class="keyword"&gt; new&lt;/span&gt; loc&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="float"&gt;122.231446&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="float"&gt; 37.486548&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;caltrain&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="char"&gt;'Atherton'&lt;/span&gt;&lt;span class="operator"&gt;] =&lt;/span&gt;&lt;span class="keyword"&gt; new&lt;/span&gt; loc&lt;span class="operator"&gt;(-&lt;/span&gt;&lt;span class="float"&gt;122.197647&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="float"&gt; 37.464658&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;caltrain&lt;span class="operator"&gt;[&lt;/span&gt;&lt;span class="char"&gt;'Menlo'&lt;/span&gt;&lt;span class="operator"&gt;] =&lt;/span&gt;&lt;span class="keyword"&gt;  new&lt;/span&gt; loc&lt;span class="operator"&gt; (-&lt;/span&gt;&lt;span class="float"&gt;122.182502&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="float"&gt; 37.454750&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;&lt;br /&gt;for&lt;/span&gt;&lt;span class="operator"&gt; (&lt;/span&gt;var l in caltrain&lt;span class="operator"&gt;) {&lt;/span&gt;&lt;br /&gt;   location&lt;span class="operator"&gt;.&lt;/span&gt;longitude&lt;span class="operator"&gt; =&lt;/span&gt; caltrain&lt;span class="operator"&gt;[&lt;/span&gt;l&lt;span class="operator"&gt;].&lt;/span&gt;&lt;span class="type"&gt;long&lt;/span&gt;&lt;span class="operator"&gt; ;&lt;/span&gt;&lt;br /&gt;   location&lt;span class="operator"&gt;.&lt;/span&gt;latitude&lt;span class="operator"&gt; =&lt;/span&gt;  caltrain&lt;span class="operator"&gt;[&lt;/span&gt;l&lt;span class="operator"&gt;].&lt;/span&gt;lat&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;   print&lt;span class="operator"&gt; (&lt;/span&gt;&lt;span class="string"&gt;"station: "&lt;/span&gt;&lt;span class="operator"&gt; +&lt;/span&gt; l&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   yield&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="int"&gt;2000&lt;/span&gt;&lt;span class="operator"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;It simply cycles through the locations for various &lt;a href="http://en.wikipedia.org/wiki/Caltrain"&gt;caltrain&lt;/a&gt; stations near my house. Handy tool for debugging.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-394314928127270597?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/394314928127270597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=394314928127270597' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/394314928127270597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/394314928127270597'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/05/test-location-based-apps-w-qt-simulator.html' title='Test location based apps w/ Qt Simulator via Qt Script'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1115058337649673757</id><published>2010-05-11T12:42:00.000-07:00</published><updated>2010-05-11T12:55:32.566-07:00</updated><title type='text'>Qt Mobility - location</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;The default case for getting location with Qt on Symbian is easy.  Consider this code.&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.comment { color: #999999; font-style: italic; }&lt;br /&gt;.pre { color: #000099; }&lt;br /&gt;.string { color: #009900; }&lt;br /&gt;.char { color: #009900; }&lt;br /&gt;.float { color: #996600; }&lt;br /&gt;.int { color: #999900; }&lt;br /&gt;&lt;br /&gt;.bool { color: #000000; font-weight: bold; }&lt;br /&gt;.type { color: #FF6633; }&lt;br /&gt;&lt;br /&gt;.flow { color: #FF0000; }&lt;br /&gt;.keyword { color: #990000; }&lt;br /&gt;.operator { color: #663300; font-weight: bold; }&lt;br /&gt;.operator { color: #663300; font-weight: bold;&lt;/style&gt;&lt;br /&gt;&lt;pre&gt;source&lt;span class="operator"&gt; =&lt;/span&gt;&lt;br /&gt;   QGeoPositionInfoSource&lt;span class="operator"&gt;::&lt;/span&gt;createDefaultSource&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="keyword"&gt;this&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;if&lt;/span&gt;&lt;span class="operator"&gt; (&lt;/span&gt;source&lt;span class="operator"&gt;) {&lt;/span&gt;&lt;br /&gt;    connect&lt;span class="operator"&gt;(&lt;/span&gt;source&lt;span class="operator"&gt;,&lt;/span&gt;&lt;br /&gt;               SIGNAL&lt;span class="operator"&gt;(&lt;/span&gt;positionUpdated&lt;span class="operator"&gt;(&lt;/span&gt;QGeoPositionInfo&lt;span class="operator"&gt;)),&lt;/span&gt;&lt;span class="keyword"&gt;&lt;br /&gt;           this&lt;/span&gt;&lt;span class="operator"&gt;,&lt;/span&gt;&lt;br /&gt;               SLOT&lt;span class="operator"&gt;(&lt;/span&gt;positionUpdated&lt;span class="operator"&gt;(&lt;/span&gt;QGeoPositionInfo&lt;span class="operator"&gt;)));&lt;/span&gt;&lt;br /&gt;    source&lt;span class="operator"&gt;-&amp;gt;&lt;/span&gt;startUpdates&lt;span class="operator"&gt;();&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;This is part of the constructor for QMainWindow. Calling the static method &lt;a href="http://doc.qt.nokia.com/qtmobility-1.0/qgeopositioninfosource.html"&gt;QGeoPositionInfoSource::createDefaultSource()&lt;/a&gt; uses the GPS on my 5800 to get location information. When updated location information is available, Qt emits a positionUpdated(QGeoPositionInfo) signal.  The &lt;a href="http://doc.qt.nokia.com/qtmobility-1.0/qgeopositioninfo.html"&gt;QGeoPositionInfo &lt;/a&gt;provides all the relevant information(eg, long/lat, time, speed, direction, etc).&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1115058337649673757?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1115058337649673757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1115058337649673757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1115058337649673757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1115058337649673757'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/05/qt-mobility-location.html' title='Qt Mobility - location'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1617730185739711597</id><published>2010-04-29T15:31:00.000-07:00</published><updated>2010-04-29T15:43:54.391-07:00</updated><title type='text'>Qt class for HTTP</title><content type='html'>&lt;div&gt;Hello, &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wanted to build an API based on HTTP with Qt. Sometime ago, Qt improved its offerring by adding a set of classes which superceded QHttp. They are QNetworkReply, QNetworkRequest and QNetworkAccessManager. Unfortunately, I didn't see good examples of them.  So, I thought I'd post this POST example.  The Buffer class is just there to receive the &lt;b&gt;finished  &lt;/b&gt;signal. The relevant method is&lt;br /&gt;&lt;pre&gt;&lt;span class="type"&gt;void&lt;/span&gt; Buffer&lt;span class="operator"&gt;::&lt;/span&gt;replyFinished&lt;span class="operator"&gt;(&lt;/span&gt;QNetworkReply&lt;span class="operator"&gt; *&lt;/span&gt;reply&lt;span class="operator"&gt;)&lt;br /&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   QByteArray data&lt;span class="operator"&gt; =&lt;/span&gt; reply&lt;span class="operator"&gt;-&amp;gt;&lt;/span&gt;readAll&lt;span class="operator"&gt;();&lt;/span&gt;&lt;br /&gt;   qDebug&lt;span class="operator"&gt;() &amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="string"&gt; "result: "&lt;/span&gt;&lt;span class="operator"&gt; &amp;lt;&amp;lt;&lt;/span&gt; data&lt;span class="operator"&gt; &amp;lt;&amp;lt;&lt;/span&gt; endl&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   reply&lt;span class="operator"&gt;-&amp;gt;&lt;/span&gt;deleteLater&lt;span class="operator"&gt;();&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;There is the important bits.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;QNetworkReply&lt;span class="operator"&gt; *&lt;/span&gt;addIMEI&lt;span class="operator"&gt;(&lt;/span&gt;QNetworkAccessManager&lt;span class="operator"&gt; *&lt;/span&gt;mgr&lt;span class="operator"&gt;)&lt;br /&gt;{&lt;/span&gt;&lt;br /&gt;   QString reqPOST&lt;span class="operator"&gt; =&lt;/span&gt;&lt;span class="string"&gt; "http://localhost:8080/?key=853b128a-0c18-42f2-835f-db9f5b6f7fb9&amp;amp;api=1&amp;amp;cmd=addIMEI"&lt;/span&gt;&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;   QNetworkRequest request&lt;span class="operator"&gt;(&lt;/span&gt;QUrl&lt;span class="operator"&gt;(&lt;/span&gt;reqPOST&lt;span class="operator"&gt;.&lt;/span&gt;toUtf8&lt;span class="operator"&gt;()));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   request&lt;span class="operator"&gt;.&lt;/span&gt;setHeader&lt;span class="operator"&gt;(&lt;/span&gt;QNetworkRequest&lt;span class="operator"&gt;::&lt;/span&gt;ContentTypeHeader&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="string"&gt;"application/xhtml+xml"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   QByteArray data&lt;span class="operator"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"&amp;lt;SymbianSigned&amp;gt;"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"&amp;lt;IMEI&amp;gt;"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"&amp;lt;number&amp;gt;"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"356945030065847"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"&amp;lt;/number&amp;gt;"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"&amp;lt;description&amp;gt;"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"X6 from Angela"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"&amp;lt;/description&amp;gt;"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"&amp;lt;/IMEI&amp;gt;"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   data&lt;span class="operator"&gt;.&lt;/span&gt;append&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="string"&gt;"&amp;lt;/SymbianSigned&amp;gt;"&lt;/span&gt;&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;&lt;br /&gt;   return&lt;/span&gt; mgr&lt;span class="operator"&gt;-&amp;gt;&lt;/span&gt;post&lt;span class="operator"&gt;(&lt;/span&gt;request&lt;span class="operator"&gt;,&lt;/span&gt;data&lt;span class="operator"&gt;);&lt;br /&gt;}&lt;/span&gt;&lt;span class="type"&gt;&lt;br /&gt;&lt;br /&gt;int&lt;/span&gt;&lt;span class="keyword"&gt; main&lt;/span&gt;&lt;span class="operator"&gt;(&lt;/span&gt;&lt;span class="type"&gt;int&lt;/span&gt; argc&lt;span class="operator"&gt;,&lt;/span&gt;&lt;span class="type"&gt; char&lt;/span&gt;&lt;span class="operator"&gt; **&lt;/span&gt;argv&lt;span class="operator"&gt;)&lt;br /&gt;{&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   QCoreApplication app&lt;span class="operator"&gt;(&lt;/span&gt;argc&lt;span class="operator"&gt;,&lt;/span&gt; argv&lt;span class="operator"&gt;);&lt;/span&gt;&lt;br /&gt;   QNetworkAccessManager&lt;span class="operator"&gt; *&lt;/span&gt;manager&lt;span class="operator"&gt; =&lt;/span&gt;&lt;span class="keyword"&gt; new&lt;/span&gt; QNetworkAccessManager&lt;span class="operator"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   Buffer&lt;span class="operator"&gt; *&lt;/span&gt;buf&lt;span class="operator"&gt; =&lt;/span&gt;&lt;span class="keyword"&gt; new&lt;/span&gt; Buffer&lt;span class="operator"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   app&lt;span class="operator"&gt;.&lt;/span&gt;connect&lt;span class="operator"&gt;(&lt;/span&gt;manager&lt;span class="operator"&gt;,&lt;/span&gt; SIGNAL&lt;span class="operator"&gt;(&lt;/span&gt;finished&lt;span class="operator"&gt;(&lt;/span&gt;QNetworkReply&lt;span class="operator"&gt;*)),&lt;/span&gt;&lt;br /&gt;           buf&lt;span class="operator"&gt;,&lt;/span&gt; SLOT&lt;span class="operator"&gt;(&lt;/span&gt;replyFinished&lt;span class="operator"&gt;(&lt;/span&gt;QNetworkReply&lt;span class="operator"&gt;*)));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   addIMEI&lt;span class="operator"&gt;(&lt;/span&gt;manager&lt;span class="operator"&gt;);&lt;/span&gt;&lt;span class="flow"&gt;&lt;br /&gt;&lt;br /&gt;   return&lt;/span&gt; app&lt;span class="operator"&gt;.&lt;/span&gt;exec&lt;span class="operator"&gt;();&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1617730185739711597?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1617730185739711597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1617730185739711597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1617730185739711597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1617730185739711597'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/04/qt-class-for-http.html' title='Qt class for HTTP'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1728550569192436135</id><published>2010-04-27T08:31:00.000-07:00</published><updated>2010-04-27T08:36:16.029-07:00</updated><title type='text'>First Symbian^3 device/new SDK/ mobility APIs</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:'Times New Roman';font-size:medium;"&gt;&lt;div style="margin-top: 6px; margin-right: 6px; margin-bottom: 6px; margin-left: 6px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 10pt; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); min-height: 1100px; counter-reset: __goog_page__ 0; line-height: normal; "&gt;Hello,&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Today is an exciting day in the Symbian space. The first Symbian^3 device was announced by Nokia.  This is getting a ton of press on the &lt;a href="http://www.forum.nokia.com/devices/N8/"&gt;Nokia N8&lt;/a&gt;. So, I will focus on something which may be below the radar and dovetails nicely with my &lt;a href="http://developer.symbian.org/wiki/index.php/Symbian_Programming_SIG-April_24_2010"&gt;talk&lt;/a&gt; last week. &lt;/div&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Nokia rolled out a new &lt;a href="http://conversations.nokia.com/2010/04/27/nokia-rolls-out-qt-sdk-for-unified-mobile-developer-experience/"&gt;SDK&lt;/a&gt;. Great for building Qt applications and it is easy to install. &lt;/div&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;During last week's presentation, I mentioned the Qt Mobility project.  This project is designing the mobile API which will become part of the official Qt APIs.  The first set have been finalized which include contacts, location, etc. Read more on the &lt;a href="http://labs.trolltech.com/blogs/2010/04/27/qt-mobility-100-package/"&gt;Qt Labs blog&lt;/a&gt;.&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;a href="http://blog.qt.nokia.com/2010/04/27/qt-gets-more-mobil/"&gt;Here&lt;/a&gt; is the Qt Labs announcement. &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;-jk&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1728550569192436135?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1728550569192436135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1728550569192436135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1728550569192436135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1728550569192436135'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/04/first-symbian3-devicenew-sdk-mobility.html' title='First Symbian^3 device/new SDK/ mobility APIs'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-5606197060928472590</id><published>2010-04-05T15:36:00.000-07:00</published><updated>2010-04-05T15:41:44.374-07:00</updated><title type='text'>Symbian Programming SIG: Anatomy of a Qt app on Symbian</title><content type='html'>&lt;div&gt;&lt;b&gt;What:&lt;/b&gt; Anatomy of a Qt app on Symbian &lt;/div&gt;&lt;div&gt;&lt;b&gt;Who: &lt;/b&gt;John Kern&lt;/div&gt;&lt;div&gt;&lt;b&gt;Date/Time:&lt;/b&gt; Wed, April 21, 6:30pm-9:00pm&lt;/div&gt;&lt;div&gt;&lt;b&gt;Where:&lt;/b&gt;Symbian Foundation at 1051 E Hillsdale Blvd, Foster City, CA 94404&lt;/div&gt;&lt;div&gt;&lt;b&gt;Cost:&lt;/b&gt; Free but registration is required. see our &lt;a href="http://www.meetup.com/Silicon-Valley-Symbian-Developers-Meetup/"&gt;meetup group&lt;/a&gt; for details&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Abstract: &lt;span class="Apple-style-span" style="line-height: 16px; "&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;At the February SIG , we heard about the UI Extensions for Mobile. This is a UI framework which extensions Qt's UI for the mobile phone. In April, I'll present a talk entitled the Anatomy of a Qt app on Symbian. I'll show you what's involved in building a Qt app for Symbian. You'll learn about some fundamental Qt mechanisms. Qt has a full featured UI library, this talk focuses on a few widgets (QMainWindow, QStackedWidget, QWebView, QTabWidget) which will get you started. Then will use sqlite3 to drive the UI. Along the way, I'll introduce you to Qt Creator, an IDE in Qt for Qt.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-5606197060928472590?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/5606197060928472590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=5606197060928472590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5606197060928472590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5606197060928472590'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/04/symbian-programming-sig-anatomy-of-qt.html' title='Symbian Programming SIG: Anatomy of a Qt app on Symbian'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2111943087332097907</id><published>2010-03-26T17:02:00.000-07:00</published><updated>2010-03-26T17:25:46.673-07:00</updated><title type='text'>Notes on my Qt experience so far.</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Hello,&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Today I'm just making some notes about what I've learn developing with Qt. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;Many mobile application have a handful of screens.  At any point it time, one screen commonly takes up the entire screen. At first, it wasn't entirely clear to me what widget to use for this task. QStackedWidget works well for this task. Widgets are added as pages. Simply changing the index of the QStackedWidget makes it visible. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Qt provides an excellent set of classes for database access. SQLite works well for mobiles.  The databases generated by SQLite are simply a file which can be deployed with your application. Query results can be used to populate widgets. You can simply create a &lt;span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; "&gt;QStringList &lt;/span&gt;and pass it along to a QListWidget as I did in &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;a href="http://kerncomputing.blogspot.com/2010/03/qlistwidget-on-s60.html"&gt;this post&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; Qt applies the Model/View pattern throughout the UI. So, one can supply an QSqlQueryModel to a QTableView. Effectively you are simply supplying an sql query to the table view. Qt does the rest. You can also use the database to generate html which can be handed to QWebView.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;-jk&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2111943087332097907?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2111943087332097907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2111943087332097907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2111943087332097907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2111943087332097907'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/03/notes-on-my-qt-experience-so-far.html' title='Notes on my Qt experience so far.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6091422001830420380</id><published>2010-03-04T16:44:00.000-08:00</published><updated>2010-03-04T16:49:50.840-08:00</updated><title type='text'>QListWidget on S60</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:'Times New Roman';font-size:medium;"&gt;&lt;div style="margin-top: 6px; margin-right: 6px; margin-bottom: 6px; margin-left: 6px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 10pt; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); min-height: 1100px; counter-reset: __goog_page__ 0; line-height: normal; "&gt;Hello,&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Lists are central to many mobile applications. If you are population a list with just a few items which are known a priori, QListWidget and QListWidgetItem are very handy. Nokia Forum provides an &lt;a href="http://wiki.forum.nokia.com/index.php/How_to_use_QListWidget_and_QListWidgetItem"&gt;example&lt;/a&gt; on their wiki.&lt;br /&gt;&lt;br /&gt;I think it could be improved. First for each element, they explicitly create an object and insert it. Why not simple create a list and provide to the QListWidget. &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt; &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;    QStringList birds;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;    birds &lt;&lt; "Avocet" &lt;&lt; "Sparrow" &lt;&lt; "Crow" &lt;&lt; "Sea gull" &lt;&lt; "Kookaburra";&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;    birdList = new QListWidget;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;    setCentralWidget(birdList);&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;    birdList-&gt;addItems(birds);&lt;/div&gt;&lt;br /&gt;The other point is we rarely simply present a list.  If it is important enough to show the user, they will likely want to do something to an item in the list. We simply need to connect the itemDoubleClicked() signal to a slot we create.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;    connect(birdList, SIGNAL(itemDoubleClicked ( QListWidgetItem * )),&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;    this, SLOT(displayBird(QListWidgetItem *)));&lt;/div&gt;&lt;br /&gt;Here is the definition of the slot.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt; void MainWindow::displayBird ( QListWidgetItem * item )&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt; {&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt; QMessageBox::information(this,"picked", item-&gt;text());&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt; }&lt;/div&gt;&lt;br /&gt;Simply grab the text from the item and present it in a message box. &lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;-jk&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6091422001830420380?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6091422001830420380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6091422001830420380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6091422001830420380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6091422001830420380'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/03/qlistwidget-on-s60.html' title='QListWidget on S60'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2954566084999628490</id><published>2010-03-04T11:38:00.000-08:00</published><updated>2010-03-04T13:01:50.311-08:00</updated><title type='text'>menubars and softkeys</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:'Times New Roman';font-size:medium;"&gt;&lt;div   style="margin-top: 6px; margin-right: 6px; margin-bottom: 6px; margin-left: 6px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;   background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); min-height: 1100px; counter-reset: __goog_page__ 0; line-height: normal; font-family:Verdana;font-size:12pt;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Hello,&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;These days I'm working with Qt. On the desktop it is complete and mature. On mobile, it is coming on strong. There are a number approaches you can take from a UI perspective. Today I'm focusing on using existing Qt widgets as opposed to &lt;/span&gt;&lt;/span&gt;&lt;a href="http://qt.gitorious.org/uiemo/"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;UIEMO&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; (aka Orbit&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;) or using the Qt graphics view. In this post, I just want to consider the softkeys on Symbian/S60.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;By default, Qt for S60 creates a menubar for you.  So, the user will see an options and exit softkeys. One can add items to the options menu by... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        displayAction = new QAction(tr("&amp;amp;Display"),this);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        // Add action direct to menubar&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        menuBar()-&gt;addAction(displayAction);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;        connect(displayAction, SIGNAL(triggered()),this, SLOT(displayMessage()));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;In S60, the softkeys on the bottom are called the Common Button Area (CBA) and there are a number of ways to customize them( for the curious you find the source code &lt;/span&gt;&lt;/span&gt;&lt;a href="http://developer.symbian.org/xref/oss/xref/API_REF/Public_API/epoc32/include/avkon.rsg"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;here&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;).  How does one achieve this via Qt? The &lt;/span&gt;&lt;/span&gt;&lt;a href="http://doc.trolltech.com/4.6/qaction.html"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;QAction &lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;class &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; has been enhanced.  Consider the QAction::SoftKeyRole enum. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;QAction::PositiveSoftKey is the moral equivalent of the left softkey and QAction::NegativeSoftKey is the right. I think they chose to rename them because in landscape orientation the right and left softkeys are really top and bottom. Here is a Nokia Forum &lt;/span&gt;&lt;/span&gt;&lt;a href="http://wiki.forum.nokia.com/index.php/TSQ001528_-_Handling_softkeys_in_Qt_for_Symbian"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;post&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;which shows how to use this to implement the back softkey.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;-jk&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2954566084999628490?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2954566084999628490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2954566084999628490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2954566084999628490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2954566084999628490'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/03/menubars-and-softkeys.html' title='menubars and softkeys'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6385082919992653683</id><published>2010-02-23T14:52:00.000-08:00</published><updated>2010-02-23T16:24:37.420-08:00</updated><title type='text'>Custom Widgets - Qt's graphic view classes.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;There is a ton of work going into Qt for Symbian. Tomorrow night, Dan Zucker and Ray Rischpater are coming down to the &lt;a href="http://developer.symbian.org/"&gt;Symbian Foundation&lt;/a&gt; and fill us in on Qt's new UI extensions for Mobile (aka Orbit).  Qt Labs wrote about the recent release of it &lt;a href="http://labs.trolltech.com/blogs/2010/02/15/ui-extensions-for-mobile-development-now-on-gitorious/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Today, in preparation, I would like to introduce a few related classes which can be used to create custom widgets.  Qt's graphic view classes provide a nice solution. It consists of a scene (&lt;a href="http://doc.trolltech.com/4.6/qgraphicsscene.html"&gt;QGraphicScene&lt;/a&gt;) which contains items (&lt;a href="http://doc.trolltech.com/4.6/qgraphicsitem.html"&gt;QGraphicsItem&lt;/a&gt;). The scene is made visible via a view (&lt;a href="http://doc.trolltech.com/4.6/qgraphicsview.html"&gt;QGraphicsView&lt;/a&gt;).  Scene's perform collision detection and determine which items are selected among other things.&lt;div&gt;&lt;br /&gt;&lt;div&gt;If you look at the initial set of demos provided for the Symbian/S60 port of Qt, you'll see these classes are heavily used. Consider weather info  ( &lt;a href="http://www.youtube.com/watch?v=-LuFbnE7_J4"&gt;video &lt;/a&gt;| &lt;a href="http://doc.qt.nokia.com/4.6/demos-embedded-weatherinfo-weatherinfo-cpp.html"&gt;source&lt;/a&gt;) example.  The text and images you see are all items in the scene.  With S60, creating a custom view like this one is not the faint of heart.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You'll see this is heavily used by UI Extensions for Mobile too.  Come down to the Symbian Foundation in Foster City tomorrow (details &lt;a href="http://www.meetup.com/Silicon-Valley-Symbian-Developers-Meetup/calendar/12531887/"&gt;here&lt;/a&gt;) and see what they built on top of the Qt graphics view. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-jk&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6385082919992653683?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6385082919992653683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6385082919992653683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6385082919992653683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6385082919992653683'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/02/custom-widgets-qts-graphic-view-classes.html' title='Custom Widgets - Qt&apos;s graphic view classes.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6746088035730994389</id><published>2010-02-17T11:26:00.000-08:00</published><updated>2010-02-17T13:55:48.526-08:00</updated><title type='text'>Symbian Programming SIG: UI Extensions for Mobile</title><content type='html'>&lt;b&gt;What:&lt;/b&gt; UI Extensions for Mobile (aka Orbit)&lt;br /&gt;&lt;b&gt;Who: &lt;/b&gt;Daniel Zucker and Ray Rischpater&lt;br /&gt;&lt;b&gt;Date/Time:&lt;/b&gt; Wed, Feb 24, 6:30pm-9:00pm&lt;br /&gt;&lt;b&gt;Where:&lt;/b&gt;Symbian Foundation at 1051 E Hillsdale Blvd, Foster City, CA 94404&lt;br /&gt;&lt;b&gt;Cost:&lt;/b&gt; Free but registration is required. see our &lt;a href="http://www.meetup.com/Silicon-Valley-Symbian-Developers-Meetup/"&gt;meetup group&lt;/a&gt; for details&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Abstract:&lt;/b&gt; At our next meeting, Daniel Zucker and Ray Rischpater will share their thoughts on Nokia's UI Extensions for Mobile (previously referred to as Orbit) , the new UI framework Nokia has recently open-sourced to Symbian and Gitorious (see http://qt.gitorious.org/uiemo) . They will provide a summary of the business case for developers to move to Uiemo, followed by a review of its architecture. With these fundamentals out of the way, they will provide a brief tour of benefits for Uiemo to Symbian developers including more in-depth discussion of individual UI components.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6746088035730994389?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6746088035730994389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6746088035730994389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6746088035730994389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6746088035730994389'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2010/02/symbian-programming-sig-ui-extensions.html' title='Symbian Programming SIG: UI Extensions for Mobile'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3110950549103893146</id><published>2009-11-19T08:03:00.000-08:00</published><updated>2009-11-19T08:07:51.060-08:00</updated><title type='text'>Tech tip: Stop mode debugging</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;div style="margin-top: 6px; margin-right: 6px; margin-bottom: 6px; margin-left: 6px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: Verdana; font-size: 10pt; background-color: rgb(255, 255, 255); min-height: 1100px; counter-reset: __goog_page__ 0; line-height: normal; "&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Hello, &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Recently, the Symbian Kernel and a baseport for QEMU (aka SVP) were released.  As people start to extend it, debugging becomes more important. Debuggers can be broken down into run more and stop mode debugging. Run mode is what we want at the application level. It controls a specific process running on the target machine. The process can be stopped and inspected while the rest of the machine continues as normal.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Stop mode is handy for device driver and device creation. Since we are debugging the OS and device drivers, we can not rely on them to inspect the code being debugged. Stop mode freezes the CPU and stops the OS. The debugger needs to do the data discovery and object manipulation. &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Here is a way to do it with SVP.  &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;b&gt;Build ELF File&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Symbian uses the &lt;a href="http://developer.symbian.org/wiki/index.php/Symbian_OS_Internals/10._The_Loader"&gt;E32 object file format&lt;/a&gt;. gdb understands ELF and instruments the code with DWARF. Use the elf4rom command to build an elf file which both gdb and qemu understand. This step assumes you have created a image rom.  &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;R:\sf\os\kernelhwsrv\kernel\eka\rombuild&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt; c:\Symbian\Tools\bin\elf4rom.exe -i SYBORGARMV5D.IMG &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;    -l ROMBUILD.LOG -o SYBORGARMV5D.ELF  -p 0x0&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;In this example, SYBORGARMV5D.IMG and ROMBUILD.LOG are inputs from the rom creation process. &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;At this time, I am seeing warnings of this form. &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Warning: could not find ELF file for \Epoc32\release\ARMV5\UDEB\EVFP.DLL.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;For this task, we can proceed. &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;b&gt;Launch QEMU&lt;/b&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Now let's fire up QEMU using the image we just created. Here is the command &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;'/c/Program Files/Qemu/qemu-system-arm.exe' -M /r/sf/adaptation/QEMU/baseport/syborg/syborg.dtb -kernel /r/sf/os/kernelhwsrv/kernel/eka/rombuild/SYBORGARMV5D.ELF -S -s -p 1234&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;The directory separators are reversed because I use trivial bash script to launch the application. Focus on the arguments. Instead of a rom image, we supply the elf file we just created. The capital S option (-S) freezes the CPU at startup. The lowercase s option (-s) waits for a gdb connection. The -p option defines the port we are using. &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;%%%% debugger &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Now simply invoke gdb with the elf file. Gdb's &lt;b&gt;target remote&lt;/b&gt; command is used to sync up with the QEMU at port &lt;b&gt;1234.&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;C:\Program Files\yagarto\bin&gt;arm-elf-gdb.exe R:\sf\os\kernelhwsrv\kernel\eka\rombuild\SYBORGARMV5D.ELF&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;GNU gdb 6.8.50.20080308-cvs&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Copyright (C) 2008 Free Software Foundation, Inc.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;This is free software: you are free to change and redistribute it.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;There is NO WARRANTY, to the extent permitted by law.  Type "show copying"&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;and "show warranty" for details.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;This GDB was configured as "--host=i686-pc-mingw32 --target=arm-elf"...&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;(gdb) &lt;b&gt;target remote localhost:1234&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Remote debugging using localhost:1234&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;[New Thread 1]&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;0x00000000 in ?? ()&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;(gdb)  c&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Continuing.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Hit control-C to interrupt the process and we can inspect the code. &lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Program received signal SIGINT, Interrupt.&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;SyborgWFIIdle ()&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;    at R:\\sf\\adaptation\\qemu\\baseport\\syborg\\specific\\/interrupts.cia:44&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;44      }&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Current language:  auto; currently minimal&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;(gdb) l&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;39      {&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;40              // Enter an idle state and wait for interrupts&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;41              asm("mov r0, #0");&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;42              asm("mcr p15, 0, r0, c7, c0, 4");&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;43              asm("bx lr");&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;44      }&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;45&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;46      /********************************************************************&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;47       * Service 1ms tick interrupt &amp;amp; timer 1 interrupt&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;48       ********************************************************************/&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;(gdb)&lt;/div&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;-jk&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3110950549103893146?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3110950549103893146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3110950549103893146' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3110950549103893146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3110950549103893146'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/11/tech-tip-stop-mode-debugging.html' title='Tech tip: Stop mode debugging'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6050568032827212073</id><published>2009-11-06T17:04:00.000-08:00</published><updated>2009-11-09T16:41:53.474-08:00</updated><title type='text'>QEMU tech tip: redirecting serial output</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Recently I've been working with &lt;a href="http://developer.symbian.org/wiki/index.php/SYBORG/QEMU"&gt;QEMU and Symbian port called syborg&lt;/a&gt;. By default you see Symbian, the QEMU Monitor(ctrl+alt+2) displays standard error and standard output which is essential when debugging. The problem is this information quickly exceeds the length of the screen and you lose it. How does one capture this information?&lt;br /&gt;&lt;br /&gt;Here are instructions for windows XP which I'm using today.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;connect a USB to serial cable to two ports on your PC.&lt;/li&gt;&lt;li&gt;There should be a new COM port.  To confirm: &lt;ol&gt;  &lt;li&gt;go to control panel&lt;/li&gt;  &lt;li&gt;double click on administrative tools.&lt;/li&gt;  &lt;li&gt;double click on Computer Management&lt;/li&gt;  &lt;li&gt;select Device Manager from the tree on the right hand side of the window&lt;/li&gt;  &lt;li&gt;expand the &lt;b&gt;Ports (COM &amp;amp; LPT)&lt;/b&gt; and look for new port&lt;/li&gt; &lt;/ol&gt;&lt;br /&gt;In my case it is &lt;b&gt;RadioShack USB to Serial Cable (COM42)&lt;/b&gt;&lt;/li&gt;&lt;li&gt;We will use &lt;a href="http://en.wikipedia.org/wiki/Tera_Term"&gt;Tera Term&lt;/a&gt; to listen to the port (ie, COM42 in this case).  Simply launch it and setup the serial port.&lt;/li&gt;&lt;li&gt;Launch qemu with the &lt;b&gt;-serial COM1&lt;/b&gt; option&lt;/li&gt;&lt;/ol&gt;At this point you should see the ouput from QEMU displayed in Tera Term which also has a logging feature allowing one to  save the output to a file.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Update: A simpler alternative is to use &lt;b&gt;-serial file:logfile.log&lt;/b&gt; option to  QEMU.&lt;br /&gt;&lt;br /&gt;-jk&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6050568032827212073?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6050568032827212073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6050568032827212073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6050568032827212073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6050568032827212073'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/11/qemu-tech-tip-redirecting-serial-output.html' title='QEMU tech tip: redirecting serial output'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-5369284297208498079</id><published>2009-10-23T08:19:00.000-07:00</published><updated>2009-10-23T08:24:32.812-07:00</updated><title type='text'>Symbian programming SIG: What Qt brings to Symbian</title><content type='html'>&lt;b&gt;What&lt;/b&gt;: What Qt brings to Symbian&lt;br /&gt;&lt;b&gt;Who&lt;/b&gt;: Jason Barron&lt;br /&gt;&lt;b&gt;Date&lt;/b&gt;: Thursday November 5th, 2009, 6:30pm (registration), 7pm(talk)&lt;br /&gt;&lt;b&gt;Where&lt;/b&gt;: Symbian Foundation at 1051 E Hillsdale Blvd, Foster City, CA 94404 ( &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=1051+E+Hillsdale+Blvd,+Foster+City,+CA+94404&amp;amp;sll=37.446303,-122.183755&amp;amp;sspn=0.010102,0.014548&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=1051+E+Hillsdale+Blvd,+Foster+City,+San+Mateo,+California+94404&amp;amp;ll=37.561198,-122.269742&amp;amp;spn=0.010087,0.014548&amp;amp;z=16&amp;amp;iwloc=A"&gt;map &lt;/a&gt;).&lt;br /&gt;&lt;b&gt;Cost&lt;/b&gt;: free but registration is required. Check &lt;a href="http://www.meetup.com/Silicon-Valley-Symbian-Developers-Meetup/calendar/11668852/"&gt;here &lt;/a&gt;to register.&lt;br /&gt;&lt;span class="Apple-style-span"    style="font-family:verdana, geneva, sans-serif;font-size:100%;color:#444444;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;span class="Apple-style-span"    style="font-family:Georgia, serif;font-size:130%;color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-size: 16px; line-height: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: verdana, geneva, sans-serif; font-size: 12px; color: rgb(68, 68, 68); line-height: 16px; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; "&gt;It is my pleasure to tell you that Jason Barron will be speaking at the November SIG. He is in town for the &lt;a href="http://qt.nokia.com/qtdevdays2009" target="_blank" style="color: rgb(0, 42, 76); text-decoration: none; cursor: pointer; "&gt;Qt Dev Days&lt;/a&gt;. This is a great opportunity to learn what Qt brings to the Symbian Platform.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; "&gt;&lt;b&gt;Bio:&lt;/b&gt;&lt;br /&gt;Jason is a Software Engineer at Nokia, Qt Development Frameworks. After a 3 year career working with embedded Linux in the Qt Support team, he transferred into the Development team to lend his experience in helping to port Qt to Symbian OS. Jason has been working on the port since its inception and today maintains the Symbian specific parts of the QtGui module related to windowing and graphics. He holds a Bachelor of Engineering from the Memorial University of Newfoundland.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 1em; "&gt;&lt;b&gt;Abstract:&lt;/b&gt;&lt;br /&gt;Qt 4.6 will bring with it the introduction of the long awaited port of Qt to the Symbian Platform. In addition to being able to target a new platform, application developers will now be able to take advantage of new functionality in Qt to ensure their application integrates seamlessly with the underlying mobile operating system. This talk focuses on mobile application development using Qt for Symbian OS.&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-5369284297208498079?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/5369284297208498079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=5369284297208498079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5369284297208498079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5369284297208498079'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/10/symbian-programming-sig-what-qt-brings.html' title='Symbian programming SIG: What Qt brings to Symbian'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-145316447917456680</id><published>2009-08-19T13:52:00.000-07:00</published><updated>2009-08-19T13:58:11.451-07:00</updated><title type='text'></title><content type='html'>&lt;b&gt;What:&lt;/b&gt; Symbian programming SIG - developer tools&lt;br /&gt;&lt;b&gt;Who:&lt;/b&gt; Paul Beusterien&lt;br /&gt;&lt;b&gt;Date:&lt;/b&gt; Wednesday, September 16th, 2009, 6:30pm (registration), 7pm(talk)&lt;br /&gt;&lt;b&gt;Where:&lt;/b&gt; Symbian Foundation at 1051 E Hillsdale Blvd, Foster City, CA 94404 ( &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=1051+E+Hillsdale+Blvd,+San+Mateo,+CA+94404&amp;amp;sll=37.446292,-122.183797&amp;amp;sspn=0.007615,0.0159&amp;amp;ie=UTF8&amp;amp;ll=37.561453,-122.270257&amp;amp;spn=0.007603,0.0159&amp;amp;z=16&amp;amp;iwloc=A" title="map" id="anwe"&gt;map&lt;/a&gt; ).&lt;br /&gt;&lt;b&gt;Cost:&lt;/b&gt; free but registration is required. Check &lt;a title="here" href="http://www.eventbrite.com/event/412570008" id="jdfg"&gt;here&lt;/a&gt; to register.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Everything You Wanted to Know about Symbian Developer Tools&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;As the Symbian Foundation is opening up all of the Symbian code to the development community, we are also increasing the focus on development tools so that it will be as easy as possible to develop and deploy mobile applications.  The Symbian Tools Team will get you up to date on what is happening with developer tools for the Symbian platform.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Abstract:&lt;/i&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Symbian Development Tools Survey - If you're experienced with the Symbian developer, come and share your ideas of the top areas for Symbian tools improvements&lt;/li&gt;&lt;li&gt;Tools Plans - Overview of the strategy and plans for Symbian tools, including a discussion of how the issues raised in Section 1 fit in.&lt;/li&gt;&lt;li&gt; Development Environment Survey - Symbian has a wide range of development environments including C/C++, Java, Python, Web, and Flash.  We'll give a brief overview of each of them including the advantages and disadvantages.&lt;/li&gt;&lt;li&gt;Web Development Tools - In recent years, the web is transitioning to be a first-class development platform.  We'll give a survey of some of the different technologies and directions like phonegap, Blinki, Appcelerator, RhoMobile, and WRT. &lt;/li&gt;&lt;li&gt;Lightening Tool Tips - A series of 5 minute talks that give some specific tips about how to improve your Symbian development experience.  If you have a favorite Symbian tool feature, let us know and we'll add you to the agenda.&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Bio:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Paul Beusterien is the manager of the Symbian Development Tools group responsible for the tools strategy and implementation.   Paul has 21 years of system software development and management experience working on compilers, debuggers, IDEs and real-time operating systems.   Before joining the Symbian Foundation, Paul spent 13 years at Wind River Systems.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-145316447917456680?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/145316447917456680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=145316447917456680' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/145316447917456680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/145316447917456680'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/08/what-symbian-programming-sig-developer.html' title=''/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3177146577794704873</id><published>2009-08-04T16:55:00.000-07:00</published><updated>2009-08-04T17:02:19.338-07:00</updated><title type='text'>Tech Tips: tracking down tools/build error</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Today, I was chasing a problem.   After building the application based on Symbian^2 with PDT 1.0b and PDK v2.0d, I click to debug in carbide.  When I tried to open the application in the emulator, it silently failed. Is the problem with debugger, the emulator or something else? Here are a few quick tests to help track these problems down.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Does the emulator work stanalone? &lt;/li&gt;&lt;li&gt;If the emulator works, does your application correctly start?  &lt;/li&gt;&lt;li&gt;In my case, it didn't. So, I added the lines below to the epoc.ini file. This will dump a ton of trace output which showed me that RProcess::Create() was returning KErrCorrupt. &lt;/li&gt;&lt;/ol&gt;LogToFile 1&lt;br /&gt;EmulatorLog z:\epocwind.out&lt;br /&gt;&lt;br /&gt;Tomorrow I'll focus on the build and inspecting the offending executable.&lt;br /&gt;&lt;br /&gt;-jk&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3177146577794704873?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3177146577794704873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3177146577794704873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3177146577794704873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3177146577794704873'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/08/tech-tips.html' title='Tech Tips: tracking down tools/build error'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1077479528801457384</id><published>2009-07-30T18:22:00.000-07:00</published><updated>2009-07-30T18:37:19.939-07:00</updated><title type='text'>QR Codes</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://en.wikipedia.org/wiki/QR_Code"&gt;QR codes&lt;/a&gt; are a great way to get information to the mobile. One can use one of the QR code generators to encode information into a barcode. Contact information is very common but you can use them for any type of information.  &lt;a href="http://www.badgertrack.com/?p=37"&gt;Here &lt;/a&gt;is one using them for geotagging. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I used this &lt;a href="http://invx.com/"&gt;generator&lt;/a&gt; to create this QR code.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_t5K0mXPXsYM/SnJHodeUe5I/AAAAAAAAAFc/ZnbBxK07GmQ/s1600-h/SymbianOrg.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 280px; height: 280px;" src="http://2.bp.blogspot.com/_t5K0mXPXsYM/SnJHodeUe5I/AAAAAAAAAFc/ZnbBxK07GmQ/s320/SymbianOrg.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5364428866583821202" /&gt;&lt;/a&gt;&lt;br /&gt;It represents a URL to a widget.  Nokia's barcode reader nicely translate the image into a URL. Unfortunately, there are two steps to install the widget on the phone. Selecting open from the options menu downloads the file.  You then need to fire up a file manager. When you open the file in the file manager it will launch the installer. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;-jk&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1077479528801457384?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1077479528801457384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1077479528801457384' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1077479528801457384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1077479528801457384'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/07/qr-codes.html' title='QR Codes'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_t5K0mXPXsYM/SnJHodeUe5I/AAAAAAAAAFc/ZnbBxK07GmQ/s72-c/SymbianOrg.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4372216504393494753</id><published>2009-07-01T20:09:00.000-07:00</published><updated>2009-07-01T20:12:12.303-07:00</updated><title type='text'>Symbian Exchange &amp; Exposition</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Symbian&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Smartphone&lt;/span&gt; show is now the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Symbian&lt;/span&gt; Exchange &amp;amp; Exposition or &lt;a href="http://www.see09.org"&gt;See2009&lt;/a&gt;. The date has been set.  There is still an opportunity to participate. So check out the &lt;a href="http://www.see09.org"&gt;website.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4372216504393494753?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4372216504393494753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4372216504393494753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4372216504393494753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4372216504393494753'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/07/symbian-exchange-exposition.html' title='Symbian Exchange &amp; Exposition'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4208096904645190268</id><published>2009-06-27T14:42:00.000-07:00</published><updated>2009-06-27T17:30:09.485-07:00</updated><title type='text'>Book: Here Comes Everybody</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;I just read&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=johker-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0143114948&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&amp;amp;npa=1" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;The theme of the book is organizing without organizations.&lt;br /&gt;&lt;br /&gt;In the first part of the book, Shirky chronicles the impact of the raise of a number of key technologies: wikis, blogs, sms.  He asserts that as technologies become technically uninteresting they can become social profound.  He explores&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ronald Coase &lt;a href="http://en.wikipedia.org/wiki/Theory_of_the_firm"&gt;theory of firms&lt;/a&gt; in the context of technologies which have hit a critical mass.  What happens when new technology effectively eliminates the cost of a transaction?  &lt;/li&gt;&lt;li&gt;What happens when people publish first and filter later?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What happens when it is trivial to create groups?&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;In the final chapters, he evaluates groups on the internet. Breaking them into a promise(why), tools(how) and the bargain(value).  What I respect about his writing is he not only talks about the successes but analyzes the failures. In the chapter entitled "Failure for Free", he argues open source has a distinct advantage because people can explore a lot of alternate solutions to a given problem.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4208096904645190268?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4208096904645190268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4208096904645190268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4208096904645190268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4208096904645190268'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/06/book-here-comes-everybody.html' title='Book: Here Comes Everybody'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8600961544252079018</id><published>2009-06-18T20:49:00.000-07:00</published><updated>2009-06-18T20:56:28.428-07:00</updated><title type='text'>Building a tools team</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;We are looking to hire.  There are openings for eclipse, web and mobile engineers. Also, we need a build master.   There not all posted just yet but look &lt;a href="http://www.harveynash.com/uk/microsites/symbianfoundation/2008/11/san_francisco_technology.asp"&gt;here&lt;/a&gt;.  BTW, the positions are under the heading San Francisco Technology.  We are actually based out of Foster City.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8600961544252079018?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8600961544252079018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8600961544252079018' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8600961544252079018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8600961544252079018'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/06/building-tools-team.html' title='Building a tools team'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-7966231754289076228</id><published>2009-06-16T13:48:00.000-07:00</published><updated>2009-06-16T13:55:54.327-07:00</updated><title type='text'>Tech tip: installation quirk with Widget</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Often when downloading a widget to a handset, it shows up in the inbox as a message. Today I was working with an e71.  Bluetooth appeared to be working fine but no message was received.  Initially I thought it was not support with this rev of the OS but that wasn't it.   Turns out it was simply saved to the file system.  You can install it by going to the c:\Widget directory and opening the wgz file.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-7966231754289076228?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/7966231754289076228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=7966231754289076228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7966231754289076228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7966231754289076228'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/06/tech-tip-installation-quirk-with-widget.html' title='Tech tip: installation quirk with Widget'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-9222572050732542487</id><published>2009-06-12T16:05:00.000-07:00</published><updated>2009-06-12T16:10:30.831-07:00</updated><title type='text'>Seeking Lead Software Engineer</title><content type='html'>Hello, &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The &lt;a href="http://developer.symbian.org"&gt;Symbian Foundation&lt;/a&gt; is looking to hire a Lead Software Engineer for our Developer Tools group based on the Foster City, California office.  It is a cool role.  You'll get to work on Eclipse, Mobile OS, etc.  Lots of open source stuff.  Apply over &lt;a href="http://www.harveynash.com/uk/microsites/symbianfoundation/2008/11/san_francisco_technology.asp"&gt;here&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-jk&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-9222572050732542487?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/9222572050732542487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=9222572050732542487' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/9222572050732542487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/9222572050732542487'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/06/seeking-lead-software-engineer.html' title='Seeking Lead Software Engineer'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-5654566048859248562</id><published>2009-06-07T19:54:00.001-07:00</published><updated>2009-06-07T20:07:41.403-07:00</updated><title type='text'>Economist on Mobile</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;This weeks issue of the Economist features the Technology Quarterly. While you may learn about some new technology, I find there forte to be insights into business, culture and politics related to it. There are two stories involving mobile technology worth mentioning.&lt;br /&gt;&lt;br /&gt;The article called "Taken your medicine?" focuses on patients who need to take medicine for TB over extended periods of time. After the symptoms subside, many patients stop taking the medicine for bacteria is whipped out.  MIT developed a new patch which changes color to reveal a code when exposed to a patients urine IFF the medicine is in their blood.  They send a text message containing this code and recieve free airtime on there mobile.&lt;br /&gt;&lt;br /&gt;"Sensors and sensitivity" is the other piece worth mentioning. It is a good survey of high profile project using mobiles to collect data.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://instedd.org/geochat"&gt;GeoChat&lt;/a&gt; is a tool to help people respond to a crisis.  Mobiles can be used to collect location data, broadcast sms messages and coordinate with others.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sensenetworks.com/"&gt;Sense Networks &lt;/a&gt; "wants to use the predictions derived from tracking mobile phones".&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.paulos.net/"&gt;Eric Paulos&lt;/a&gt;, a computer scientist at CMU, envisions a Citizen Scientist who can "measure and sample their surroundings. &lt;/li&gt;&lt;/ul&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-5654566048859248562?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/5654566048859248562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=5654566048859248562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5654566048859248562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5654566048859248562'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/06/economist-on-mobile.html' title='Economist on Mobile'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2222741726527943662</id><published>2009-06-01T10:56:00.000-07:00</published><updated>2009-06-01T10:57:30.051-07:00</updated><title type='text'>Tech Tip: extending the reach of your website</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;If you already have a website, what is the simplest way to deploy it as a widget?  Given the WRT api, you might be tempted to use the URL as an argument to widget.openURL().   This will go to the desired website but it will launch the web browser. This is a computationally expensive. Also, when the user exits the browser they will need to widget.&lt;br /&gt;&lt;br /&gt;An alternative is&lt;br /&gt;&lt;br /&gt;window.location = dist;&lt;br /&gt;&lt;br /&gt;Now with one click, you can go to the website.   If you run this widget, you'll notice a problem. There are no softkeys.  Here is the code to fix that.&lt;br /&gt;&lt;br /&gt;    if (window.widget) {&lt;br /&gt;        menu.showSoftkeys();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2222741726527943662?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2222741726527943662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2222741726527943662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2222741726527943662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2222741726527943662'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/06/tech-tip-extending-reach-of-your.html' title='Tech Tip: extending the reach of your website'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4041897828053440178</id><published>2009-05-28T11:14:00.000-07:00</published><updated>2009-05-28T20:15:16.784-07:00</updated><title type='text'>Tech tip: deploying a widget via a website</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;When downloading a file via a browser, we need to give the browser a hint about what to do with it via a MIME type.  If this is not provided, the file is simply saved to the filesystem.  The &lt;b&gt;Web Developer's Library &lt;/b&gt;tells us that...&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Specify the  MIME type of the widget installation package in the HTTP response header. The  MIME type must be application/x-nokia-widget.&lt;/p&gt; &lt;p&gt;The following is an example of how to define the widget  MIME type for an Apache server configuration file:&lt;/p&gt;&lt;pre class="codeblock" id="GUID-2B441606-EBC8-46F8-907B-76C71C298F29"&gt;AddType x-nokia-widget .wgz&lt;/pre&gt;&lt;/blockquote&gt;The w3c is in the process of standardizing widgets.  According to the &lt;a title="w3c standard for widget packaging and configuration" href="http://www.w3.org/TR/widgets/" id="j7nu"&gt;w3c standard for widget packaging and configuration&lt;/a&gt; the MIME type is &lt;i&gt;application/widget&lt;/i&gt;. At some point, I expect a future version of WRT to migrate to this standard.&lt;br /&gt;&lt;br /&gt;Here is the behavior I am seeing at the moment. After the widget is downloaded, the user will need to open it with the file manager. This can be done in the browser from the options menu.  In the file manager, they need to go to the download directory and open the .wgz file they just downloaded.  This will start the normal installation process.&lt;br /&gt;&lt;br /&gt;I suspect the host hasn't been configured with the right MIME type.  I expected the browser to launch the installer directly.  It you can log into the machine where the http server is running, this is pretty straight forward to confirm. In this case, I don't. So, I'll be looking to intercept the http traffic.  I'll bet I can do it with telnet.  Anyway, I'll update this blog when I get to the bottom of it.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4041897828053440178?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4041897828053440178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4041897828053440178' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4041897828053440178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4041897828053440178'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/05/tech-tip-adding-widget-to-website.html' title='Tech tip: deploying a widget via a website'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-5534364631575072492</id><published>2009-05-19T11:49:00.000-07:00</published><updated>2009-05-19T12:00:42.087-07:00</updated><title type='text'>What's a minimal widget?</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;I like to understanding what is required for a minimal application.  Not only does one understand what is required but you learn to appreciated the functionality provided by what is optional. Let's consider a minimal Symbian/S60 widget. It is composed of two files &lt;b&gt;info.plist &lt;/b&gt;and an html file. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;info.plist&lt;/b&gt; is an xml file containing key value pairs. It must define the application name, an identifier and the html file.  Here is a example.&lt;br /&gt;&lt;br /&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Nokia//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.nokia.com/NOKIA_COM_1/DTDs/plist-1.0.dtd&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;dict&amp;gt;&lt;br /&gt;    &amp;lt;key&amp;gt;DisplayName&amp;lt;/key&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;Kilroy&amp;lt;/string&amp;gt;&lt;br /&gt;    &amp;lt;key&amp;gt;Identifier&amp;lt;/key&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;org.symbian.widget.kilroy&amp;lt;/string&amp;gt;&lt;br /&gt;    &amp;lt;key&amp;gt;MainHTML&amp;lt;/key&amp;gt;&lt;br /&gt;    &amp;lt;string&amp;gt;Main.html&amp;lt;/string&amp;gt;&lt;br /&gt;&amp;lt;/dict&amp;gt;&lt;br /&gt;&amp;lt;/plist&amp;gt;&lt;br /&gt;&lt;br /&gt;The only constraint on the html file is the name.  We just defined it in the &lt;b&gt;info.plist &lt;/b&gt;file. Here is a trivial html file which must be named Main.html. &lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01//EN&amp;quot; &amp;quot;http://www.w3.org/TR/html4/strict.dtd&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt; &amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Kilroy&amp;lt;/title&amp;gt;&lt;br /&gt; &amp;lt;/head&amp;gt;&lt;br /&gt; &amp;lt;body id=&amp;quot;body&amp;quot;&amp;gt;&lt;br /&gt;The sky is so beautiful. I can bite my toes.&lt;br /&gt; &amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;Deploying is pretty simple:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Assuming these two files are in there own directory, we can simply zip it up. Users of the Windows Explorer and Send To a compressed folder. &lt;/li&gt;&lt;li&gt;Rename the file extension from zip to wgz.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;send it over to the phone. I used Nokia's PC Suite.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Now let's turn our attention to the phone. This minimal widget will show up on the phone like any other application. Launch the application which we called &lt;b&gt;kilroy&lt;/b&gt;. Not too exciting. You should see a white screen displaying the text from the html file. Developer's will appreciate that no signing was involved. User's will appreciate not having to entry a URL on the phone and that it is ease to launch the application.&lt;br /&gt;&lt;br /&gt;-jk&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-5534364631575072492?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/5534364631575072492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=5534364631575072492' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5534364631575072492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5534364631575072492'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/05/whats-minimal-widget.html' title='What&apos;s a minimal widget?'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1062209849517917291</id><published>2009-05-18T10:56:00.000-07:00</published><updated>2009-05-18T10:57:09.404-07:00</updated><title type='text'>tech tips:  finding Web runtime examples</title><content type='html'>Where can you find example code for WRT?  The Symbian^1 SDK (aka Symbian/S60 5th edition) provides a dozen or so examples.  They are organized like a collection of little recipes. For example,&lt;br /&gt;&lt;ul&gt;&lt;li&gt;send a message&lt;/li&gt;&lt;li&gt;get location information.&lt;/li&gt;&lt;li&gt;getting access to the calendar/contacts&lt;/li&gt;&lt;/ul&gt;  The Aptana IDE provides a few templates to seed your projects.  These include an RSS reader and a Flickr application.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1062209849517917291?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1062209849517917291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1062209849517917291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1062209849517917291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1062209849517917291'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/05/tech-tips-finding-web-runtime-examples.html' title='tech tips:  finding Web runtime examples'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1902021117726364819</id><published>2009-05-14T09:39:00.000-07:00</published><updated>2009-05-19T14:09:00.632-07:00</updated><title type='text'>Symbian Programming SIG on Web Runtime</title><content type='html'>&lt;b&gt;What: &lt;/b&gt;The initial release from the Symbian Foundation will be based on Symbian/S60 5th edition and is called Symbian^1. One interesting implication for open sourcing Symbian/S60 is the Web Runtime(WRT) is part of the mix. This allows programmers to use standard web technologies like javascript, html and css to deliver applications to the phone. Unlike native applications, no signing is required. In addition to extending JavaScript for the phone UI, the WRT allows to access the phone via the &lt;a href="http://www.forum.nokia.com/Resources_and_Information/Explore/Web_Technologies/Web_Runtime/Technology_Overview.xhtml#platserv" id="qh4_" title="Platform Services API"&gt;Platform Services API&lt;/a&gt;.  This talk is an introduction to it.&lt;br /&gt;&lt;b&gt;Who:&lt;/b&gt; John Kern&lt;br /&gt;&lt;b&gt;Date:&lt;/b&gt; Tuesday, June 9th, 2009, 6:30pm (registration), 7pm(talk)&lt;br /&gt;&lt;b&gt;Where:&lt;/b&gt; Symbian Foundation at 1051 E Hillsdale Blvd, Foster City, CA 94404 ( &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=1051+E+Hillsdale+Blvd,+San+Mateo,+CA+94404&amp;amp;sll=37.446292,-122.183797&amp;amp;sspn=0.007615,0.0159&amp;amp;ie=UTF8&amp;amp;ll=37.561453,-122.270257&amp;amp;spn=0.007603,0.0159&amp;amp;z=16&amp;amp;iwloc=A" title="map" id="anwe"&gt;map&lt;/a&gt; ).&lt;br /&gt;&lt;b&gt;Cost:&lt;/b&gt; free but registration is required. Check &lt;a title="here" href="http://www.eventbrite.com/event/346424164" id="jdfg"&gt;here&lt;/a&gt; to register.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt; Jo Stichbury, a well known Symbian author, is planning to attend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1902021117726364819?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1902021117726364819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1902021117726364819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1902021117726364819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1902021117726364819'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/05/symbian-programming-sig-on-web-runtime.html' title='Symbian Programming SIG on Web Runtime'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-44890013002515714</id><published>2009-05-11T19:15:00.000-07:00</published><updated>2009-05-18T11:34:18.759-07:00</updated><title type='text'>Placing a call with the WRT.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Symbian/S60's Web Runtime has a rich set of javascript extensions called &lt;a title="Platform Services" href="http://www.forum.nokia.com/Resources_and_Information/Explore/Web_Technologies/Web_Runtime/Technology_Overview.xhtml#platserv" id="ob.7"&gt;Platform Services&lt;/a&gt;: contacts, calendar, location, logging, media, messaging, etc.  Nice but how does one make a call.  It is a phone after all. Turns out there is the well known &lt;b&gt;tel &lt;/b&gt;URI protocol.  The syntax is simply tel:&amp;lt;number&amp;gt;. This can be used directly in an href or in javascript.&lt;br /&gt;&lt;br /&gt;  var url = "tel:123-123-1234";&lt;br /&gt;  widget.openURL(url);&lt;br /&gt;&lt;br /&gt;Here 123-123-1234 represents a generic phone number.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-44890013002515714?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/44890013002515714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=44890013002515714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/44890013002515714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/44890013002515714'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/05/placing-call-with-wrt.html' title='Placing a call with the WRT.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8888297393214520482</id><published>2009-05-07T13:34:00.000-07:00</published><updated>2009-05-07T13:43:42.826-07:00</updated><title type='text'>Symbian, the Web Runtime and Aptana</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Recently, I joined the &lt;a href="http://www.symbian.org/" id="p9-o" title="Symbian Foundation"&gt;Symbian Foundation&lt;/a&gt; which is at the epicenter of open sourcing Symbian/S60. The initial releases of the will based on S60 5th edition and is called Symbian^1. One interesting implication for open sourcing Symbian/S60 is the Web Runtime(WRT) is part of the mix.  This allows programmers to use standard web technologies like javascript, html and css to deliver applications to the phone. Unlike native applications, no signing is required.   In addition to extending JavaScript for the phone UI, the WRT allows to access the phone via the &lt;a href="http://www.forum.nokia.com/Resources_and_Information/Explore/Web_Technologies/Web_Runtime/Technology_Overview.xhtml#platserv" id="qh4_" title="Platform Services API"&gt;Platform Services API&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aptana.com/" id="g22l" title="Aptana"&gt;Aptana&lt;/a&gt; is an IDE which can be used to build web widgets for Symbian. It helps to create, edit and deploy applications to the phone. Unlike native S60  development, you can do all of this on Mac OS X because Aptana does provide a preview mode for the application. On windows, you still may want both Nokia's PC Suite and the SDK.  The PC Suite makes pairing bluetooth devices (like your pc and phone) ease. The emulator in the SDK provides a much more faithful emulation of the phone.&lt;br /&gt;&lt;br /&gt;While Aptana does not allow one to debug javascript,  &lt;a href="http://www.aptana.com/docs/index.php/About_Firebug" id="a:ry" title="integration with firebug"&gt;integration with firebug&lt;/a&gt; is on their &lt;a href="http://www.aptana.com/docs/index.php/Aptana_Roadmap" id="u_b4" title="roadmap"&gt;roadmap&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8888297393214520482?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8888297393214520482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8888297393214520482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8888297393214520482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8888297393214520482'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/05/symbian-web-runtime-and-aptana.html' title='Symbian, the Web Runtime and Aptana'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4417149510555047287</id><published>2009-03-30T19:28:00.000-07:00</published><updated>2009-03-30T19:34:14.136-07:00</updated><title type='text'>Six Sense</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;A friend of mine steered me onto this project by Pattie Maes at the MIT Media lab. It uses a cell phone, camera and projector to provide users with access to all kinds of information in a timely manner. In this video, she is presenting it at &lt;a href="http://www.ted.comc/"&gt;TED&lt;/a&gt; 2009. Check out the video below.&lt;br /&gt;&lt;br /&gt;-jk&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/LU5wmfyeNs8&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/LU5wmfyeNs8&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4417149510555047287?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4417149510555047287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4417149510555047287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4417149510555047287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4417149510555047287'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/03/six-sense.html' title='Six Sense'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6717797980870737808</id><published>2009-03-23T07:49:00.000-07:00</published><updated>2009-03-23T07:54:35.744-07:00</updated><title type='text'>Carbon Diem - tracking carbon footprint</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.carbondiem.com/"&gt;Carbon Diem&lt;/a&gt; is a mobile application which tracks personal carbon footprint.  Each employees personal footprint can be aggregated by the company for analysis. The website doesn't provide a lot of data but it is one to watch.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6717797980870737808?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6717797980870737808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6717797980870737808' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6717797980870737808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6717797980870737808'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/03/carbon-diem-tracking-carbon-footprint.html' title='Carbon Diem - tracking carbon footprint'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-5715795611499373444</id><published>2009-03-09T08:16:00.000-07:00</published><updated>2009-03-09T08:20:44.589-07:00</updated><title type='text'>Mobile phones as sensors</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;KQED's quest series aired a broadcast on &lt;a href="http://www.kqed.org/quest/radio/tracking-carbon-through-your-cell-phone"&gt;Tracking Carbon trough your Cell Phone&lt;/a&gt;. Here is the video from UCLA's &lt;a href="http://peir.cens.ucla.edu/"&gt;PEIR, the Personal Environmental Impact Report&lt;/a&gt; project.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/t-ItfpA3XiY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/t-ItfpA3XiY&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Pretty cool.  The research center is the &lt;a href="http://research.cens.ucla.edu/"&gt;Center for Embedded Networked Sensing&lt;/a&gt;.  This &lt;a href="http://research.cens.ucla.edu/research/"&gt;list of research projects&lt;/a&gt; is impressive.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-5715795611499373444?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/5715795611499373444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=5715795611499373444' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5715795611499373444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5715795611499373444'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/03/mobile-phones-as-sensors.html' title='Mobile phones as sensors'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-305699912608652485</id><published>2009-03-08T20:31:00.000-07:00</published><updated>2009-03-08T20:33:18.702-07:00</updated><title type='text'>SVCW: Mobile Opportunity during tough times</title><content type='html'>Hello, &lt;br /&gt;&lt;br /&gt;Silicon Valley China Wireless has organized a timely panel called  &lt;a href="http://www.svcwireless.org/svcw/events/96-mobile-ecosystem-how-to-survive-and-thrive-through-the-economic-tsunami"&gt;Mobile Ecosystem: How to survive and thrive through the economic tsunami&lt;/a&gt;.  The panel will be looking for opportunity in the mobile space in these tough economic times. &lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-305699912608652485?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/305699912608652485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=305699912608652485' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/305699912608652485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/305699912608652485'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/03/svcw-mobile-opportunity-during-tough.html' title='SVCW: Mobile Opportunity during tough times'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1093950381436567916</id><published>2009-01-02T12:00:00.000-08:00</published><updated>2009-01-02T12:09:49.611-08:00</updated><title type='text'>Need a chart?</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Recently, I've wanted to embed graphs on my web pages. &lt;a href="http://code.google.com/apis/chart/"&gt;Google Chart's API&lt;/a&gt; is very hand for this. You simply send it a URL and it returns a PNG. Here is an example.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://chart.apis.google.com/chart?chs=450x250&amp;amp;cht=bvg&amp;amp;chco=4D89D9,C6D9FD&amp;amp;chdl=Low%7CHi&amp;amp;chxt=x,y&amp;amp;chxl=0:%7Cfr%7Csa%7Csu%7Cmo%7Ctu%7Cwe%7C&amp;amp;chxr=1,20,55&amp;amp;chtt=Forecasted%7CTemporatures%7Cfor+New+Haven&amp;amp;chds=20,55&amp;amp;chd=t:28,23,33,23,35,31%7C39,38,36,42,39,48" /&gt;&lt;br /&gt;&lt;br /&gt;To see the URL used to request this graph via the firefox browser, right click and select view image. &lt;br /&gt;&lt;br /&gt;It is very flexible.  I was surprised to find out it support some maps too.  Here is an example.&lt;br /&gt;&lt;img src="http://chart.apis.google.com/chart?chs=420x220&amp;amp;chd=s:_&amp;amp;cht=t&amp;amp;chtm=africa&amp;amp;chco=FFFFFF,FF0000,FFFF00,00FF00&amp;amp;chld=DZEGMGAOBWNGCFKECGCVSNDJTZGHMZZM&amp;amp;chtt=demo+map+of+Africa&amp;amp;chd=t:0,100,50,32,60,40,43,12,14,54,98,17,70,76,18,29&amp;amp;chf=bg,s,EAF7FE" /&gt;&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1093950381436567916?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1093950381436567916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1093950381436567916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1093950381436567916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1093950381436567916'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2009/01/need-chart.html' title='Need a chart?'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-5876652760514008578</id><published>2008-11-22T10:24:00.000-08:00</published><updated>2008-11-22T10:26:17.531-08:00</updated><title type='text'>Hot, Flat and Crowded.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Thomas Friedman's previous book, &lt;a href="http://www.amazon.com/gp/product/0312425074?ie=UTF8&amp;amp;tag=johker-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0312425074"&gt;The World Is Flat&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=johker-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0312425074" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;, explored the impact of globalization.  In this book, he was an observer of the global business process.  He accepted  pop economics and ignored economic externalities.   &lt;a href="http://en.wikipedia.org/wiki/Externalities"&gt;Externalities&lt;/a&gt; are a burden placed on someone who isn't invoked in the economic transaction.  A factory polluting the air, land and water is a classic example.&lt;br /&gt;&lt;br /&gt;This is why his new book, &lt;a href="http://www.amazon.com/gp/product/0374166854?ie=UTF8&amp;amp;tag=johker-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0374166854"&gt;Hot, Flat, and Crowded&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=johker-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0374166854" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;, is so welcome. Here he takes on the profound impacts of these economic externalities are wreaking on our planet.  He breaks these into five key issues:&lt;ul&gt;&lt;li&gt; the growing demand for ever scarcer energy supplies and natural resources&lt;/li&gt;&lt;li&gt;a massive transfer of wealth to oil-rich countries and their petrodictators&lt;/li&gt;&lt;il&gt;&lt;li&gt; disruptive climate change&lt;/li&gt;&lt;li&gt; energy poverty, which is sharply dividing the world into electricity haves and electricity have-nots&lt;/li&gt;&lt;li&gt; rapidly accelerating biodiversity loss, as plants and animals go extinct at record rates&lt;/li&gt;&lt;/il&gt;&lt;/ul&gt;I admire the way he ties economic and human needs with the environment when analyzing the challenges of our age. Much of his work is based on conversations with political and business leaders.  Many books warn us about these problems but few attempt to provide solution.  Friedman provides solid economic policy suggestions and took a stab at engineering and natural resource problems too.  While the book has no reference section, you can generally find information on these people, projects and topics on the web.&lt;br /&gt;&lt;br /&gt;-jk&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=johker-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0374166854&amp;amp;md=10FE9736YVPPT7A0FBG2&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&amp;amp;npa=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=johker-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0312425074&amp;amp;md=10FE9736YVPPT7A0FBG2&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&amp;amp;npa=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-5876652760514008578?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/5876652760514008578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=5876652760514008578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5876652760514008578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5876652760514008578'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/11/hot-flat-and-crowded.html' title='Hot, Flat and Crowded.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-958115401214130465</id><published>2008-11-21T08:16:00.000-08:00</published><updated>2008-11-21T08:19:29.431-08:00</updated><title type='text'>Announcing smart grid blog</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;I have started another &lt;a href="http://smartgrid3020.blogspot.com/"&gt;blog&lt;/a&gt;. It focuses on technologies for energy efficiency, renewable energy and combating climate change.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-958115401214130465?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/958115401214130465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=958115401214130465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/958115401214130465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/958115401214130465'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/11/announcing-smart-grid-blog.html' title='Announcing smart grid blog'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2107538121302785097</id><published>2008-11-19T17:18:00.000-08:00</published><updated>2008-11-19T17:22:22.585-08:00</updated><title type='text'>Symbian Partner Event in SF</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Since Nokia bought Symbian, I've been looking forward to an event which would enlighten us.  On December 4th, Symbian will be hosting an all day event in San Francisco called the &lt;a href="http://upcoming.yahoo.com/event/1373755/"&gt;Symbian Partner Event&lt;/a&gt;.  Bruce Carney posted the &lt;a href="http://tech.groups.yahoo.com/group/SVS_SIG/message/217"&gt;agenda&lt;/a&gt; to the Symbian SIG. It is a regular who's who at Symbian: &lt;ul&gt;&lt;li&gt;Nigel Clifford, CEO&lt;/li&gt;&lt;li&gt;David Wood, EVP&lt;/li&gt;&lt;li&gt;Charles Davies, CTO&lt;/li&gt;&lt;li&gt;Lee Williams, Executive Director&lt;/li&gt;&lt;/ul&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2107538121302785097?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2107538121302785097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2107538121302785097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2107538121302785097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2107538121302785097'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/11/symbian-partner-event-in-sf.html' title='Symbian Partner Event in SF'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4254283975845181035</id><published>2008-11-11T14:56:00.000-08:00</published><updated>2008-11-11T15:02:14.554-08:00</updated><title type='text'>The impact emerging markets are having on Mobiles.</title><content type='html'>Hello, &lt;br /&gt;&lt;br /&gt;Next month the &lt;a href="http://sdforum.org/index.cfm?fuseaction=Page.viewPage&amp;amp;pageId=624&amp;amp;parentID=483&amp;amp;nodeID=1"&gt;SDForum's International SIG&lt;/a&gt; will be talking about the impact emerging markets are having on mobile. It is schedule for December 4th in Menlo Park.  When an announcement is posted on their site, I'll update this post.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4254283975845181035?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4254283975845181035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4254283975845181035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4254283975845181035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4254283975845181035'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/11/impact-emerging-markets-are-having-on.html' title='The impact emerging markets are having on Mobiles.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8580425596376308310</id><published>2008-11-05T11:00:00.000-08:00</published><updated>2008-11-05T11:01:05.069-08:00</updated><title type='text'>Panel on integrating SMS with Web applications</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.meetup.com/sfmobile/"&gt;SF Mobile 2.0 and Wireless group&lt;/a&gt; has a panel discussion on Integrating SMS with Web applications on November 6th. Check out the lineup and details &lt;a href="http://www.meetup.com/sfmobile/calendar/8913885/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8580425596376308310?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8580425596376308310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8580425596376308310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8580425596376308310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8580425596376308310'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/11/panel-on-integrating-sms-with-web.html' title='Panel on integrating SMS with Web applications'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4747621158673390969</id><published>2008-11-02T13:48:00.000-08:00</published><updated>2008-11-02T13:49:49.700-08:00</updated><title type='text'>Studs Terkel</title><content type='html'>&lt;a href="http://www.google.com/search?source=ig&amp;amp;hl=en&amp;amp;rlz=&amp;amp;q=Studs+Terkel&amp;amp;btnG=Google+Search"&gt;Studs Terkel&lt;/a&gt; passed on. This is my favorite quote of his:&lt;br /&gt;&lt;br /&gt;"With optimism, you look upon the sunny side of things. People say, 'Studs, you're an optimist.' I never said I was an optimist. I have hope because what's the alternative to hope? Despair? If you have despair, you might as well put your head in the oven."&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4747621158673390969?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4747621158673390969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4747621158673390969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4747621158673390969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4747621158673390969'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/11/studs-terkel.html' title='Studs Terkel'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2014205562314107578</id><published>2008-11-01T11:29:00.000-07:00</published><updated>2008-11-01T11:40:58.031-07:00</updated><title type='text'>David Wood note's on Google</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Recently I mentioned that David Wood, EVP at Symbian, starting blogging. In a recent post, he comments &lt;a href="http://www.dw2-0.com/2008/10/watching-google-watching-world.html"&gt;on Google&lt;/a&gt; and enumerates on Google's design philosophy. It is a refreshing alternative to the least common denominator approach(eg, xhtml, css, sms) which was the dominate approach over the last few years.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2014205562314107578?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2014205562314107578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2014205562314107578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2014205562314107578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2014205562314107578'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/11/david-wood-notes-on-google.html' title='David Wood note&apos;s on Google'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-77388514668352598</id><published>2008-10-31T15:01:00.000-07:00</published><updated>2008-10-31T15:08:00.939-07:00</updated><title type='text'>OnSkreen seeks Android Developer</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;OnSkreen is a startup in Seattle.  When the are in the Silicon Valley, they participate in MoMo SV which is where I meet them. Seems like a good outfit.  They are looking for an &lt;a href="http://onskreen.com/careers_android_dev.php"&gt;Android Developer&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-77388514668352598?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/77388514668352598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=77388514668352598' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/77388514668352598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/77388514668352598'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/10/onskreen-seeks-android-developer.html' title='OnSkreen seeks Android Developer'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2942309609581927193</id><published>2008-10-22T07:16:00.000-07:00</published><updated>2008-10-22T07:22:47.219-07:00</updated><title type='text'>Google release source for android</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;As promised, Google released the &lt;a href="http://source.android.com/"&gt;source&lt;/a&gt; for android.  Google took a unique approach to version control using git. While you can look at the git files on the web, I don't see a way view the source.  So, one is forced to bite the bullet and do a lot of setup first. Not very Googly. :-(&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2942309609581927193?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2942309609581927193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2942309609581927193' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2942309609581927193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2942309609581927193'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/10/google-release-source-for-android.html' title='Google release source for android'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3391184337591706510</id><published>2008-10-17T07:47:00.000-07:00</published><updated>2008-10-17T07:49:02.633-07:00</updated><title type='text'>WhereWednesday: NAVTEQ on Developer Network</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wherewednesday.com/"&gt;WhereWednesday&lt;/a&gt; will be meeting this month at NRC on October 29th at 7pm.  See  &lt;a href="http://wherewednesday.com/2008/10/16/wherewednesday-oct-29th-2008-navteq-developer-network-and-global-lbs-challenge/"&gt;NRC&lt;/a&gt; for detail.  &lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.prevent-ip.org/images/consortium/logo_navteq.gif" alt="NAVTEQ" /&gt;&lt;br /&gt;&lt;br /&gt;NAVTEQ will be talking about their Developer Network and Global LBS Challenge.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3391184337591706510?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3391184337591706510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3391184337591706510' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3391184337591706510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3391184337591706510'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/10/wherewednesday-navteq-on-developer.html' title='WhereWednesday: NAVTEQ on Developer Network'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6903019157684582278</id><published>2008-10-07T10:02:00.000-07:00</published><updated>2008-10-22T07:34:55.832-07:00</updated><title type='text'>BASE vs ACID</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Last night I went to a talk by Nikunj Mehta about his &lt;a href="http://www.oracle.com/technology/tech/feeds/pdf/atomdb.pdf%20"&gt;AtomDB&lt;/a&gt; project at Oracle. Here is a link to their technology &lt;a href="http://www.oracle.com/technology/tech/feeds/index.html"&gt;home page&lt;/a&gt;.  I was introduced to the BASE vs ACID trade-off.  Now, &lt;a href="http://en.wikipedia.org/wiki/ACID"&gt;ACID&lt;/a&gt; is a set of database properties that guarantee transactions are processed reliably.  This was introduced long ago by &lt;a href="http://en.wikipedia.org/wiki/Jim_Gray_%28computer_scientist%29"&gt;Jim Gray&lt;/a&gt; I believe.    &lt;a href="http://www.acmqueue.com/modules.php?name=Content&amp;amp;pa=showpage&amp;amp;pid=540"&gt;BASE: An ACID alternative&lt;/a&gt; which trades &lt;span style="font-weight: bold;"&gt;some consistency for availability can lead to dramatic improvements in scalability&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: Nikunj posted his slides &lt;a href="http://o-micron.blogspot.com/2008/10/mobile-monday-silicon-valley.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6903019157684582278?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6903019157684582278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6903019157684582278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6903019157684582278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6903019157684582278'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/10/base-vs-acid.html' title='BASE vs ACID'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-7532518707148010534</id><published>2008-10-03T08:57:00.000-07:00</published><updated>2008-10-03T09:00:08.647-07:00</updated><title type='text'>S60 5th edition</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Nokia has announced the &lt;a href="http://www.forum.nokia.com/devices/5800_XpressMusic"&gt;5800&lt;/a&gt; and with it a new SDK... and there was much rejoicing!  The SDK is called &lt;a href="http://www.forum.nokia.com/document/S60_5th_Edition_Cpp_Developers_Library/"&gt;S60 5th edition&lt;/a&gt;.  [ Say, what happened to 4th edition!?!]&lt;br /&gt;&lt;br /&gt;Let's take an initial look.  Obviously, the UI has been extended to support the touch screen which the 5800 sports.  Here are some other highlights.&lt;br /&gt;&lt;ul&gt;&lt;li&gt; The sensor API for:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://en.wikipedia.org/wiki/Accelerometer"&gt;Accelerometer&lt;/a&gt; to determine orientation and acceleration of the device&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Magnetometer"&gt;Magnetometer&lt;/a&gt;  to determine the strength and direction of the magnetic field. &lt;/li&gt;&lt;li&gt;Tapping is also handled by this API &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; An API has been added to support the Toolbar. &lt;/li&gt;&lt;li&gt; Web Services and XML parsers have been greatly enhanced. &lt;/li&gt;&lt;/ul&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-7532518707148010534?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/7532518707148010534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=7532518707148010534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7532518707148010534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7532518707148010534'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/10/s60-5th-edition.html' title='S60 5th edition'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-9147379038771482352</id><published>2008-10-02T08:01:00.000-07:00</published><updated>2008-10-02T08:03:05.648-07:00</updated><title type='text'>PCD: Natural Interactions with Digital Content</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Terry Winnograd's &lt;a href="http://hci.stanford.edu/seminar/"&gt;People, Computers and Design Lecture&lt;/a&gt;&lt;a&gt; series has begun again.   This Friday &lt;/a&gt;&lt;a href="http://web.media.mit.edu/%7Edmerrill/"&gt;David Merrill&lt;/a&gt; of the MIT Media Lab is presenting.  His talk is entitled &lt;a href="http://hci.stanford.edu/seminar/abstracts/08-09/081003-merrill.html"&gt;Natural Interactions with Digital Content&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;HCI in this realm is always a challenge. It will be interesting to hear about his approach.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-9147379038771482352?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/9147379038771482352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=9147379038771482352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/9147379038771482352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/9147379038771482352'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/10/pcd-natural-interactions-with-digital.html' title='PCD: Natural Interactions with Digital Content'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3456592659020531029</id><published>2008-09-28T16:25:00.000-07:00</published><updated>2008-09-28T19:45:36.325-07:00</updated><title type='text'>Tech Tips: debugging with Carbide</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Panics are a big help when debugging on Symbian.  The lastest Carbide.C++ IDE doesn't show the Panic code by default. To understand why, read &lt;a href="http://wiki.forum.nokia.com/index.php/Running_the_emulator_from_Carbide.c%2B%2B"&gt;this wiki entry&lt;/a&gt;.  Basically, there are two modes.  One starts the OS(host mode); the other the application directly(application mode).  &lt;br /&gt;&lt;br /&gt;I was debugging in application mode.  Unfortunately, it doesn't show the panic code. So, I wanted to switch to host mode.  I ran into a small problem. For the release process, I appended the UID to the application name in registration resource file but not to the executable itself.  If they are inconsistent, the application you want to debug will fail to launch with system error -1 (or KErrNotFound).  It is looking for app but you named it app_uid. Oops! &lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3456592659020531029?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3456592659020531029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3456592659020531029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3456592659020531029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3456592659020531029'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/09/tech-tips-debugging-with-carbide.html' title='Tech Tips: debugging with Carbide'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4599395079241553015</id><published>2008-09-24T16:56:00.001-07:00</published><updated>2008-09-24T16:57:34.854-07:00</updated><title type='text'>SVC annual conference on October 4th.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.svcwireless.org/"&gt;Silicon Valley-China Wireless Technology Association&lt;/a&gt; will be holding their &lt;a href="http://www.svcwireless.org/svcw/ac2008/18-2008-annual-conference/85-2008-annual-conference-agenda"&gt;Annual Conference&lt;/a&gt;  at the Computer History Museum on October 4th.  They always have top flight speakers.  With Apple and Google entering the market, there has been a lot of focus on them.  This Chinese perspective will surely be enlightening and refreshing.  I hope I can fit this into my schedule.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4599395079241553015?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4599395079241553015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4599395079241553015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4599395079241553015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4599395079241553015'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/09/svc-annual-conference-on-october-4th.html' title='SVC annual conference on October 4th.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-711965995649472888</id><published>2008-09-21T18:16:00.000-07:00</published><updated>2008-09-22T16:31:40.811-07:00</updated><title type='text'>OSM: Street mapping party in SF next weekend.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.openstreetmap.org/index.php/Main_Page"&gt;Open Street Map(OSM)&lt;/a&gt; is sponsoring a mapping party next weekend in SF. (see events on there &lt;a href="http://wiki.openstreetmap.org/index.php/Main_Page"&gt;main page&lt;/a&gt; or &lt;a href="http://laughingsquid.com/squidlist/events/rssL.php?lID=2521"&gt;the Squid list&lt;/a&gt; for details).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: They will be meeting at &lt;a href="http://urbanmapping.com/"&gt;Urban Mapping&lt;/a&gt;, 690 Fifth Street, Suite 200, San Francisco, CA 94107 &lt;a href="http://openstreetmap.org/?mlat=37.77541&amp;amp;mlon=-122.39755&amp;amp;zoom=17&amp;amp;layers=B000FTF"&gt;map&lt;/a&gt;.  Click &lt;a href="http://wiki.openstreetmap.org/index.php/San_Francisco"&gt;here&lt;/a&gt; for full details.&lt;br /&gt;&lt;br /&gt;I'm planning to attend.  I would like to play around with a GPS and learn how to process the way points for inclusion in OSM.&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-711965995649472888?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/711965995649472888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=711965995649472888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/711965995649472888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/711965995649472888'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/09/osm-street-mapping-party-in-sf-next.html' title='OSM: Street mapping party in SF next weekend.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3042456886497990712</id><published>2008-09-20T14:50:00.000-07:00</published><updated>2008-09-20T14:53:26.233-07:00</updated><title type='text'>Mobilize panel on operating systems disappointing.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;My greatest disappointment with the recent Mobilize conference was the panel on mobile operating systems.  The panel was chalked full of talent but the moderator demonstrated no understanding of the mobile space.  All this questions were binary.  Is A or B going to win? While this works fine for an eye exam, it doesn't work for mobile.  Should apps be written in a native language or a web app? He wanted one or the other.  Sorry but it depends.  What a shame?&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3042456886497990712?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3042456886497990712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3042456886497990712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3042456886497990712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3042456886497990712'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/09/mobilize-panel-on-operating-systems.html' title='Mobilize panel on operating systems disappointing.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1270931719803024011</id><published>2008-09-20T14:30:00.000-07:00</published><updated>2008-09-20T14:33:54.126-07:00</updated><title type='text'>A great panel at Mobilize</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;My vote the best panel at Mobilize was &lt;span style="font-weight: bold;"&gt;Thinking Experimentally: What creates a good mobile user experience?&lt;/span&gt;  I have heard both &lt;a href="http://skydeck.com/about/management/"&gt;Jason Devitt&lt;/a&gt; and &lt;a href="http://aula.org/people/jyri/"&gt;Jyri Engestrom&lt;/a&gt; speak before.  They are very knowledgeable and have engaging perspectives.  When they are on the lineup I seek them out.&lt;br /&gt;&lt;br /&gt;This panel introduced me to &lt;a href="http://www.rachelhinman.com/"&gt;Rachel Hinman&lt;/a&gt;.  &lt;a href="http://www.adaptivepath.com/ideas/essays/they_call_it_surfing_for_a_reason.pdf"&gt;Here&lt;/a&gt; is a recent paper she co-authored with &lt;a href="http://research.nokia.com/people/mirjana_spasojevic/"&gt;Mirjana Spasojevic&lt;/a&gt; and Pekka Isomursa of Nokia.  I like the way the break the results of their study down into design principles.&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1270931719803024011?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1270931719803024011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1270931719803024011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1270931719803024011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1270931719803024011'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/09/great-panel-at-mobilize.html' title='A great panel at Mobilize'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-5004994085804559520</id><published>2008-09-17T07:39:00.000-07:00</published><updated>2008-09-17T07:54:11.371-07:00</updated><title type='text'>David Wood starts blog</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;David Wood recently started a &lt;a href="http://www.dw2-0.com/"&gt;blog&lt;/a&gt;. He is the EVP at Symbian (&lt;a href="https://developer.symbian.com/wiki/display/pub/David+Wood"&gt;bio&lt;/a&gt;). Check it out. &lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-5004994085804559520?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/5004994085804559520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=5004994085804559520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5004994085804559520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5004994085804559520'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/09/david-wood-starts-blog.html' title='David Wood starts blog'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2881420779188462206</id><published>2008-09-10T10:45:00.000-07:00</published><updated>2008-09-17T07:37:06.807-07:00</updated><title type='text'>J2ME vs the web runtime?</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Last year I classified mobile applications into three buckets.&lt;br /&gt;&lt;ul&gt;&lt;li&gt; XHTML/CSS and SMS - This was a list common denominator.  While you could hit about every phone on the planet, the experience wasn't very satisfying.  &lt;/li&gt;&lt;li&gt; j2me - J2ME provide a lot of functionality and some variation of it was on most handsets.  &lt;/li&gt;&lt;li&gt; native - The ultimate in functionality but it was expensive to build and only ran on one operating system.  &lt;/li&gt;&lt;/ul&gt;I had always planned to move up to J2ME to get a wider audience but the mobile landscape has changed radically in the last year.  Web browsers have made great advances.  Apple and Google have entered the race.&lt;br /&gt;&lt;br /&gt;With respect to native applications, not much has changed.  In &lt;span style="font-weight: bold;"&gt;rare&lt;/span&gt; cases, an application must be native. Web and J2ME is a more interesting comparison.   Nokia and Apple are providing compelling web runtime solutions on their handset.  Have we turned a corner where one should prefer mobile web apps over J2ME?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: I ran into a &lt;a href="http://www.dw2-0.com/2008/07/mobile-development-in-hurry.html"&gt;post&lt;/a&gt; by David Wood on this topic. &lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2881420779188462206?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2881420779188462206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2881420779188462206' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2881420779188462206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2881420779188462206'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/09/j2me-vs-web-runtime.html' title='J2ME vs the web runtime?'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-148766356893781132</id><published>2008-09-03T13:17:00.000-07:00</published><updated>2008-09-03T13:29:22.533-07:00</updated><title type='text'>SF Bay ACM: Information for People</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.almaden.ibm.com/cs/people/laura/"&gt;Laura Haas&lt;/a&gt; is scheduled to &lt;a href="http://sfbayacm.org/events/2008-09-17.php"&gt;speak&lt;/a&gt; at the local chapter of the ACM.  She has earned her reputation in the database world. Her talk is entitled &lt;span style="font-weight: bold;"&gt;Information for People&lt;/span&gt;.  "Having access to a billion records is cool, but having access to a billion is people awesome." You can find a related paper &lt;a href="http://www.almaden.ibm.com/cs/people/laura/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-148766356893781132?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/148766356893781132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=148766356893781132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/148766356893781132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/148766356893781132'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/09/sf-bay-acm-information-for-people.html' title='SF Bay ACM: Information for People'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4020597044102127337</id><published>2008-08-29T07:30:00.000-07:00</published><updated>2008-08-29T07:34:46.558-07:00</updated><title type='text'>User data point: Landmarks on a map.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://news.bbc.co.uk/2/hi/uk_news/7586789.stm"&gt;Here&lt;/a&gt; is an interesting discussion on the content which is provided via online street maps. The argument that online maps are '&lt;span style="font-weight: bold;"&gt;wiping out history&lt;/span&gt;' seems quite melodramatic. Where do paper maps come from? In general, they are computer generated. Every day people add more data to online maps.  As an industry we are still learning. What types of uses make sense?  What is the appropriate amount of information to display to the user? How do they want to display, manipulate and add to it?&lt;br /&gt;&lt;br /&gt;What I think is interesting in this article is the passionate, user discussion.  Telling us would they believe is important about a map.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4020597044102127337?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4020597044102127337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4020597044102127337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4020597044102127337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4020597044102127337'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/08/user-data-point-landmarks-on-map.html' title='User data point: Landmarks on a map.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6750139471373930712</id><published>2008-08-26T16:45:00.000-07:00</published><updated>2008-08-26T16:53:45.353-07:00</updated><title type='text'>W2M&amp;SN: another great lineup.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Catherine Burton has done it again.  Check out the line up for the &lt;a href="http://web.meetup.com/49/"&gt;Web 2.0 Mapping and Social Networks Group&lt;/a&gt; meetup in September.&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://www.abaq.us/"&gt;Abaqus&lt;/a&gt; “Record your Geotracks with a phone and other GPS devices. Annotate with mulitmedia &amp;amp; organize your GeoDiary. Publish to any site on the web for location-based activities such as fitness, travel, social networking, mobile work etc.” &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.planet9.com/flash_index.html"&gt;Planet 9 Studios&lt;/a&gt; “Planet 9 Studios was founded in 1991 and was the Internets' first 3D content provider. The company is a California Corporation based in San Francisco and is privately held. Mission – Planet 9 is building the next generation of data and software to bring 3D city interfaces to applications. Vision – We believe that 3D city interfaces will enrich a wide range of consumer and business applications.”&lt;/li&gt; &lt;li&gt;&lt;a href="http://fireeagle.yahoo.net/"&gt;“Fire Eagle™&lt;/a&gt; is a new service designed to make it safe and easy to build and use location-aware applications and services. It's a place where users can store and manage information about their current location that trusted apps and sites can update or access. Fire Eagle exposes a rich set of web services that allow developers to write location-aware applications.”&lt;/li&gt;&lt;/ul&gt;It is scheduled for September 23rd at 7pm at Google. See &lt;a href="http://web.meetup.com/49/calendar/8349475/"&gt;their website for more details&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6750139471373930712?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6750139471373930712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6750139471373930712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6750139471373930712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6750139471373930712'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/08/w2m-another-great-lineup.html' title='W2M&amp;SN: another great lineup.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3401098194793135287</id><published>2008-08-22T15:33:00.000-07:00</published><updated>2008-08-22T15:40:03.103-07:00</updated><title type='text'></title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;One nice thing about Symbian is code that compiles and links against the emulator will compile and build for device.  I'm sure someone can come up with an exception but in my experience this is very rare.&lt;br /&gt;&lt;br /&gt;With the iPhone OS, I'm finding one needs to watch out for this.   Consider this example.   I wanted to display the current time in a formatted matter.  After routing around in the SDK, I found this which compiles fine for the simulator.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;NSString *t =  [NSString stringWithFormat:@"Time: %@",&lt;br /&gt;   [[NSCalendarDate calendarDate] &lt;br /&gt;   descriptionWithCalendarFormat:@"%I:%M%p"]];&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;It should generate a warning because the NSCalendarDate class has been deprecated.  If you compile for device, it will generate an error. Here is a reasonable version.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;NSDateFormatter *dateFormatter =&lt;br /&gt; [[[NSDateFormatter alloc] init] autorelease];&lt;br /&gt;[dateFormatter setDateStyle:NSDateFormatterNoStyle];&lt;br /&gt;[dateFormatter setTimeStyle:NSDateFormatterShortStyle];&lt;br /&gt;&lt;br /&gt;NSString *t = [NSString stringWithFormat:@"Time: %@",&lt;br /&gt;  [dateFormatter stringFromDate:today],nil];&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3401098194793135287?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3401098194793135287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3401098194793135287' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3401098194793135287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3401098194793135287'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/08/hello-one-nice-thing-about-symbian-is.html' title=''/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3552273726928696367</id><published>2008-08-20T07:27:00.000-07:00</published><updated>2008-08-20T07:30:04.949-07:00</updated><title type='text'>LBS SIG - Location without GNSS: Perspectives and Research</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://lbssig.org/"&gt;LBS SIG&lt;/a&gt;, which is associated with &lt;a href="http://www.wca.org/"&gt;Wireless Communications Alliance&lt;/a&gt;, will be meeting at PARC on September 30th.  It will be a panel discussion focusing on approaches  to determining location that do not involved satellite.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3552273726928696367?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3552273726928696367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3552273726928696367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3552273726928696367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3552273726928696367'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/08/lbs-sig-location-without-gnss.html' title='LBS SIG - Location without GNSS: Perspectives and Research'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-5909254523236392671</id><published>2008-08-08T13:02:00.000-07:00</published><updated>2008-08-08T13:09:30.323-07:00</updated><title type='text'>Getting started with Cocoa Program</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Coming up to speed on Apple's iPhone can be challenging.  Apple does provide a lot of documentation.  Their programming guides are comprehensive. It is easy to reference specific classes.  They do provide sample programs.   The catch is they do NOT bootstrap the developer.&lt;br /&gt;&lt;br /&gt;Normally, SDK's are full of sample programs which the documentation references to demonstrate key concepts.  This allows the reader to look at the full program and play with it to ensure they understand concept and explore the periphery.&lt;br /&gt;&lt;br /&gt;Aaron Hillegass wrote a book which nicely compliments Apple's work.&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=johker-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0321503619&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&amp;amp;npa=1" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;He provides a structured path through the SDK.  After introducing you to Objective-C and the IDE (Xcode and Interface Builder), subsequent chapters talk about a specific concept.  He tells you about it and walks you through writing an app to demonstrate it. While this book focuses on the Mac OS X desktop, it is very help primer for the iPhone OS 2.0 too.&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-5909254523236392671?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/5909254523236392671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=5909254523236392671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5909254523236392671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5909254523236392671'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/08/getting-started-with-cocoa-program.html' title='Getting started with Cocoa Program'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-179317838423058145</id><published>2008-08-04T18:57:00.001-07:00</published><updated>2008-08-04T18:57:45.735-07:00</updated><title type='text'>ETech 2009: call for participation</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;O'Reilly sent out their &lt;a href="http://assets.en.oreilly.com/1/event/20/et2009_email_u080408.htm"&gt;call for participation  for ETech 2009&lt;/a&gt;.  I love it. Applying technology to address important issues of the day.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-179317838423058145?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/179317838423058145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=179317838423058145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/179317838423058145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/179317838423058145'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/08/etech-2009-call-for-participation.html' title='ETech 2009: call for participation'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-23105713993693885</id><published>2008-08-01T12:50:00.000-07:00</published><updated>2008-08-01T12:51:37.217-07:00</updated><title type='text'>Open Street Map</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Last night I want to learn about the &lt;a href="http://www.openstreetmap.org/"&gt;Open Street Map(OSM)&lt;/a&gt; project at &lt;a href="http://www.cloudmade.com/"&gt;CloudMade&lt;/a&gt; satellite office in Menlo Park.  OSM &lt;span style="font-style: italic;"&gt;creates and provides free geographic data such as street maps to anyone who wants them&lt;/span&gt;.  &lt;a href="http://wiki.openstreetmap.org/index.php/Main_Page"&gt;Here&lt;/a&gt; is there main wiki page which helps you get started, tells you how to make maps and provides references for development.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-23105713993693885?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/23105713993693885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=23105713993693885' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/23105713993693885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/23105713993693885'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/08/open-street-map.html' title='Open Street Map'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2391232726528915213</id><published>2008-07-28T07:01:00.000-07:00</published><updated>2008-08-08T13:57:40.930-07:00</updated><title type='text'>August Where Wednesday</title><content type='html'>&lt;span style="font-weight: bold;"&gt;What:&lt;/span&gt;  August 2008 Where Wednesday (Location based advertising)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;When:&lt;/span&gt; August 20th, 2008 - 7pm&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Where: &lt;/span&gt; San Francisco, CA 94102.  Since space is limited,  please &lt;a href="http://wwaug2008.eventbrite.com/"&gt;RSVP&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cost:&lt;/span&gt; Nothing!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Who: &lt;/span&gt; Blair Swedeen, Vice President of Market Development @  &lt;a href="http://www.placecast.net/"&gt;1020 Placecast&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Where is Location-Based Advertising today?&lt;/li&gt;&lt;li&gt;How can location information be leveraged in web advertising? &lt;/li&gt;&lt;li&gt;What is place-based advertising?&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Blair is responsible for 1020 Placecast's marketing and business development activities with ISPs, web publishers, mobile application providers and other distribution partners.&lt;br /&gt;&lt;br /&gt;Prior to joining 1020 Placecast , Blair founded Partenza Consulting, a strategy and business development consultancy advising leading players and investors in the Location-Based Services (LBS) industry. Previously, he had overall responsibility for the Internet/Wireless product line at NAVTEQ, the leading digital map content company, and launched the company's mobile content product line.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;About this group&lt;/span&gt;: &lt;a href="http://tech.groups.yahoo.com/group/wherewednesday/"&gt;Where Wednesday&lt;/a&gt; focuses mobility, location and maps. "If your App has a Map, join us!"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2391232726528915213?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2391232726528915213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2391232726528915213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2391232726528915213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2391232726528915213'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/what-august-2008-where-wednesday.html' title='August Where Wednesday'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8783560391331079553</id><published>2008-07-27T13:02:00.000-07:00</published><updated>2008-07-27T13:08:49.105-07:00</updated><title type='text'>Mapping and Social networks group on Location</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://web.meetup.com/49/"&gt;Web 2.0 Mapping and Social Networks Group&lt;/a&gt; meetup has announced their August lineup.  It is about Location:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://www.loopt.com/"&gt;Loopt&lt;/a&gt; - you know 'em, you love 'em, but have you met 'em... &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.geogad.com/geogad/index"&gt;Geogad&lt;/a&gt; - Your personal mobile tour guide&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.3sisecurity.com/"&gt;3SI Security Systems&lt;/a&gt;-...the world leader in cash protection systems...&lt;/li&gt;&lt;/ul&gt;It is scheduled for August 19th at 7pm at Google. See &lt;a href="http://web.meetup.com/49/calendar/8349475/"&gt;their website for more details&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8783560391331079553?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8783560391331079553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8783560391331079553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8783560391331079553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8783560391331079553'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/mapping-and-social-networks-group-on.html' title='Mapping and Social networks group on Location'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6946114805804024294</id><published>2008-07-27T12:55:00.000-07:00</published><updated>2008-07-27T12:56:20.500-07:00</updated><title type='text'>Fish Phone</title><content type='html'>I heard about the &lt;a href="http://www.blueocean.org/"&gt;Blue Ocean Institute&lt;/a&gt; Fish Phone on &lt;a href="http://www/loe.org"&gt;Living on Earth&lt;/a&gt;.  You'll find the radio broadcast &lt;a href="http://www.loe.org/shows/segments.htm?programID=08-P13-00030&amp;amp;segmentID=4"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;No technical wow factor here but it is a handy website which works well with the mobile web and SMS.  While you're at the supermarket, you can check to see if they type of fish you're considering is health for you and if that species is depleted.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6946114805804024294?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6946114805804024294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6946114805804024294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6946114805804024294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6946114805804024294'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/fish-phone.html' title='Fish Phone'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3465717171139740332</id><published>2008-07-26T11:58:00.000-07:00</published><updated>2008-07-26T12:02:59.284-07:00</updated><title type='text'>Randy Pausch: A life well lived.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;While listening to the radio, I heard about &lt;a href="http://en.wikipedia.org/wiki/Randy_Pausch"&gt;Randy Pausch&lt;/a&gt;  and the &lt;a href="http://video.google.com/videoplay?docid=-5700431505846055184"&gt;Last Lecture&lt;/a&gt;.  It is an incredibly courageous, moving and inspirational speech. His research focused on Virtual Reality (see the &lt;a href="http://www.alice.org/"&gt;Alice&lt;/a&gt; project). Technology isn't central to this talk.  It is about Humanity.  At the time of the lecture, he knew he was dying of cancer. In this 90 minute lecture, he shares some bits of wisdom from a life well lived.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3465717171139740332?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3465717171139740332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3465717171139740332' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3465717171139740332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3465717171139740332'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/randy-pausch-life-well-lived.html' title='Randy Pausch: A life well lived.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3990330204889996103</id><published>2008-07-15T06:55:00.000-07:00</published><updated>2008-07-15T06:56:30.372-07:00</updated><title type='text'>O'Reilly's first ever Open Mobile Exchange</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;O'Reilly will be hosting their first ever &lt;a href="http://en.oreilly.com/oscon2008/public/content/open-mobile-exchange"&gt;Open Mobile Exchange&lt;/a&gt;.  It is schedule to take advantage the Open Source Convention. Looks like a great place to hear about in mobile linux and browser enhancements.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3990330204889996103?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3990330204889996103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3990330204889996103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3990330204889996103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3990330204889996103'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/oreillys-first-ever-open-mobile.html' title='O&apos;Reilly&apos;s first ever Open Mobile Exchange'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1250816202818849628</id><published>2008-07-14T12:00:00.000-07:00</published><updated>2008-07-14T20:04:29.306-07:00</updated><title type='text'>People are starting to talk about privacy.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;The iPhone has really changed the mobile landscape.   User now understand that their phone is connected to the web, you can download applications and, finally, we are starting to hear people discuss the privacy issues.  &lt;a href="http://www.washingtonpost.com/wp-dyn/content/article/2008/07/11/AR2008071103296.html"&gt;Here&lt;/a&gt; is an article from the Washington Post talking about it.  Unfortunately, it just talks to technologies and privacy experts.  I would love to see a study by an anthropologist.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1250816202818849628?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1250816202818849628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1250816202818849628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1250816202818849628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1250816202818849628'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/people-are-starting-to-talk-about.html' title='People are starting to talk about privacy.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-817914708619118222</id><published>2008-07-12T08:56:00.000-07:00</published><updated>2008-07-12T08:59:19.359-07:00</updated><title type='text'>tracking ships on the Aegean among other places</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://marinetraffic.com/"&gt;Here&lt;/a&gt; is a mashup which tracks naval vessels. &lt;a href="http://en.wikipedia.org/wiki/Automatic_Identification_System"&gt;Automatic Indtification System(AIS)&lt;/a&gt; transmits location information (e.g., GPS, gyrocompass, rate of turn indication) via &lt;a href="http://en.wikipedia.org/wiki/Very_high_frequency"&gt;VHF&lt;/a&gt; to receivers on shore or other ships.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-817914708619118222?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/817914708619118222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=817914708619118222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/817914708619118222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/817914708619118222'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/tracking-ships-on-aegean-among-other.html' title='tracking ships on the Aegean among other places'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3036567205089743171</id><published>2008-07-11T13:31:00.000-07:00</published><updated>2008-07-11T13:37:22.501-07:00</updated><title type='text'>Mapping Infectious Diseases</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.technologyreview.com/Biotech/21060/?a=f"&gt;Here&lt;/a&gt; is an article on a very interesting mashup.  &lt;a href="http://www.healthmap.org/en"&gt;HealthMap&lt;/a&gt; searches a variety of sites for information on infectious disease.  It parses the text for the location and type of disease.  Then it adds markers on Google Maps for each. The UI allows users to decide which sites to search and what diseases to map.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3036567205089743171?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3036567205089743171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3036567205089743171' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3036567205089743171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3036567205089743171'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/mapping-infectious-diseases.html' title='Mapping Infectious Diseases'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6099840221863822525</id><published>2008-07-08T19:53:00.000-07:00</published><updated>2008-07-08T20:22:36.508-07:00</updated><title type='text'>Quick Recipes on Symbian OS</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Symbian Press just released a new book.&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=johker-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0470997834&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&amp;amp;npa=1" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;The heart of the matter are the later chapters. Each chapter address one technical topic(e.g., telephony, networking, graphics and drawing, etc) and is composed of a collection of &lt;span style="font-weight: bold;"&gt;recipes&lt;/span&gt;.  What's a &lt;span style="font-weight: bold;"&gt;recipe&lt;/span&gt;? In this context it is an answer to a &lt;span style="font-weight: bold;"&gt;how to&lt;/span&gt; programming question. How does one play a video clip(see 4.7.2.2)? How does one retrieve the network signal strength(see section 4.8.1.4)?&lt;br /&gt;&lt;br /&gt;This is a very welcome compliment to the SDK and associated documentation. Sometimes code snippets in the SDK documentation allude to critical nits and leave it to the reader to figure it out. &lt;span style="font-weight: bold;"&gt;Recipes&lt;/span&gt; are a small but complete unit. The &lt;span style="font-weight: bold;"&gt;recipes&lt;/span&gt; are more concise providing a consistent template which includes the header, the library and which capabilities are required. Much of the source code is available &lt;a href="https://developer.symbian.com/wiki/display/pub/Quick+Recipes+on+Symbian+OS"&gt;online&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The SDK has always had example programs. &lt;span style="font-weight: bold;"&gt;Recipes&lt;/span&gt; are a nice compliment to them.  Many times I want an answer to a &lt;span style="font-weight: bold;"&gt;how to&lt;/span&gt; question.  While there is an SDK example which talks about that concept, it may not be the focus of that example, it may lack documentation or it may be tangled up with a bunch of related concepts.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6099840221863822525?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6099840221863822525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6099840221863822525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6099840221863822525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6099840221863822525'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/quick-recipes-on-symbian-os.html' title='Quick Recipes on Symbian OS'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3380215184199325760</id><published>2008-07-03T10:51:00.000-07:00</published><updated>2008-07-11T13:42:51.440-07:00</updated><title type='text'>Sorting through the mobile platforms</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;In the last year or so, the landscape for mobiles has changed a lot thanks to Andriod, Apple and LiMo.  I found Om Malik's &lt;a href="http://gigaom.com/2008/06/24/symbian-iphone-the-new-mobile-reality/"&gt;article&lt;/a&gt; useful when sorting through it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: Something just hit me about this analysis.  For the last three years, the trend has been to program to a runtime(either J2me or brew). These are not mentioned in the article.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3380215184199325760?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3380215184199325760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3380215184199325760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3380215184199325760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3380215184199325760'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/07/sorting-through-mobile-platforms.html' title='Sorting through the mobile platforms'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6327119601012301421</id><published>2008-06-30T09:36:00.000-07:00</published><updated>2008-06-30T09:38:14.261-07:00</updated><title type='text'>mobile DB update: Converging on SQLite</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Symbian has had a DMBS for along time.  I thought this was so cool when I learned about it.   However, I'm glad to here about the &lt;a href="https://developer.symbian.com/wiki/display/pub/Symbian+SQL"&gt;Symbian SQL&lt;/a&gt; which will be build on top of  &lt;a href="http://sqlite.org/"&gt;SQLite&lt;/a&gt;.   Apple's iPhone and Google's Android are both supporting SQLite.  In addition to these mobile platforms standardizing on SQLite, Mozilla and Adobe are using SQLite.  This will make development easier although I'm sure each platform will provide a platform specific wrapper.  This only makes sense since the languages are so different.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6327119601012301421?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6327119601012301421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6327119601012301421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6327119601012301421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6327119601012301421'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/06/mobile-db-update-converging-on-sqlite.html' title='mobile DB update: Converging on SQLite'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8099718398502134977</id><published>2008-06-27T14:52:00.000-07:00</published><updated>2008-06-27T14:58:01.768-07:00</updated><title type='text'>Schedules on mobiles: using location for context</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Schedules are a nature fit for mobiles.  For a variety of reasons, I wish to revisit them. I'll be using the &lt;a href="http://caltrain.com/"&gt;Caltrain&lt;/a&gt; schedule because I ride it regularly and there is some interesting prior art.  Before outlining my motivation and target, I'll review some related work.&lt;br /&gt;&lt;br /&gt;The first one I saw was &lt;a href="http://www.wrafra.net/software/Caltrain/"&gt;Caltrain's schedule for PalmOS&lt;/a&gt;.  They did a great job.   These comments are from my memory which is a bit rusty because I haven't owned a palm in years.  I liked they two column layout.  The other columns are not important right now.  One tap inverted the trip.   Also, I like the one tap to get information about a specific train (ie, fare, zone, travel time and distance ) and a simply gesture brings up information station information.  Also, also, they provided alerts to remind you.   Palm was a nice platform in the day but  their share of the smartphone market is small. &lt;a href="http://www.informationweek.com/blog/main/archives/2007/11/five_reasons_pa.html"&gt;Some&lt;/a&gt; are calling for Palm to drop Palm OS entirely.&lt;br /&gt;&lt;br /&gt;There are J2ME and web implementations.   They are pretty bare bones when compared with the earlier work on Palm but should work on about any phone.&lt;br /&gt;&lt;br /&gt;Google published a &lt;a href="http://code.google.com/transit/spec/transit_feed_specification.html"&gt;format for specifying for transit information&lt;/a&gt; and the local transit authority has published the caltrain schedule this way.  This makes it easy to get the underlying schedule data.  Google did a nice job integrating these data into Google Maps.   &lt;a href="http://www.google.com/maps?f=d&amp;amp;hl=en&amp;amp;geocode=&amp;amp;saddr=4th+St+%26+King+St,+San+Francisco,+San+Francisco,+California,+United+States&amp;amp;daddr=Menlo+Park+Caltrain&amp;amp;mra=cc&amp;amp;dirflg=r&amp;amp;sll=37.614775,-122.291565&amp;amp;sspn=0.416638,0.42984&amp;amp;ie=UTF8&amp;amp;z=11"&gt;Here&lt;/a&gt; is a common route for me.  It provides alternate routes.  The Reverse option is nice on a mobile but a desktop? even a laptop sounds awkward. The overall layout is well done for the desktop browser but for a mobile it is too much.&lt;br /&gt;&lt;br /&gt;I want to extend this work with location.&lt;br /&gt;&lt;ul&gt;&lt;li&gt; In the coming year, many phones will have some method of computing location. It is very handy for a schedule.  It can ease input by positioning the starting station with the nearest station.   We can set alerts to remind you that you are nearing your destination. &lt;/li&gt;&lt;li&gt; Maps are not available on the handset. Would this enhance the experience? From time to time, people ask me for directions. This would be a good way to show them. It would be even better if I could send the result to them. &lt;/li&gt;&lt;li&gt; One should be able to use the web or mobile.   If you use the desktop to plan a trip, you should be able to send it to the phone. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8099718398502134977?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8099718398502134977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8099718398502134977' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8099718398502134977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8099718398502134977'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/06/schedules-on-mobiles-using-location-for.html' title='Schedules on mobiles: using location for context'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-7404762153689151169</id><published>2008-06-25T10:55:00.000-07:00</published><updated>2008-06-25T11:10:59.131-07:00</updated><title type='text'>Symbian OS: Communication Programming</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Last November, Symbian press came out with the 2nd edition of...&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=jkplaces-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0470512288&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&amp;amp;npa=1" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;It has been re-written from scratch.  In general, I like it.  The only real hole is SIP/RTP but this makes sense as the SDK support for SIP/RTP is not ready for prime time. [aside: while poking around for SIP on Symbian, I ran cross the &lt;a href="http://www.pjsip.org/"&gt;pjsip&lt;/a&gt; SIP implementation which has been ported to Symbian.  I've not done any due diligence on it.]&lt;br /&gt;&lt;br /&gt;The two major sections are Low-level technology (sockets, bluetooth, infrared, telephony, etc) and High-level technology(messaging, OBEX, HTTP and device management).&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-7404762153689151169?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/7404762153689151169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=7404762153689151169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7404762153689151169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7404762153689151169'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/06/symbian-os-communication-programming.html' title='Symbian OS: Communication Programming'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6340676953034765134</id><published>2008-06-24T20:05:00.000-07:00</published><updated>2008-07-08T11:06:33.528-07:00</updated><title type='text'>Geo/LBS talks clustered on July 15th</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;A number of interesting talks are clustered on July 15th.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://web.meetup.com/49/"&gt;Web 2.0 Mapping and Social Networks Group's&lt;/a&gt; July meeting is about &lt;span style="font-weight: bold;"&gt;Web 2.0 geospatial applications meet travel, adventure and the outdoor experience&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Three presentations will include:&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Rico Simpkins on user-generated maps and REI&lt;/li&gt;&lt;li&gt;Craig Rosa an interactive producer for KQED Quest&lt;/li&gt;&lt;li&gt;Eye.fi, a company which builds a digital photo camera memory card that attaches GPS coordinates to every shot &lt;/li&gt;&lt;/ol&gt;&lt;a href="http://www.svcwireless.org/"&gt;Silicon Valley China Wireless&lt;/a&gt; will be hosting a seminar on Location Based Services.  They do a nice job.  So, this should be good too.&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6340676953034765134?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6340676953034765134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6340676953034765134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6340676953034765134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6340676953034765134'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/06/geolbs-talks-clustered-on-july-15th.html' title='Geo/LBS talks clustered on July 15th'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6020931369272550540</id><published>2008-06-24T11:00:00.000-07:00</published><updated>2008-06-24T13:06:52.706-07:00</updated><title type='text'>Nokia to acquire Symbian and open sources Symbian/S60</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Nokia to  &lt;a href="http://www.rcrnews.com/apps/pbcs.dll/article?AID=/20080624/FREE/245318478/1015/newsletter03"&gt;acquire Symbian&lt;/a&gt;.  This is a big move.  It makes sense because it saves them money on royalties and should speed up S60 development.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: I missed the high order bit. Nokia is going to &lt;a href="http://arstechnica.com/news.ars/post/20080624-fighting-the-android-nokia-buys-and-open-sources-symbian.html"&gt;open source Symbian and S60&lt;/a&gt;. &lt;a href="http://conversations.nokia.com/home/2008/06/nokia-to-acquir.html"&gt;Here&lt;/a&gt; is the press release.&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6020931369272550540?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6020931369272550540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6020931369272550540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6020931369272550540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6020931369272550540'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/06/nokia-to-acquire-symbian.html' title='Nokia to acquire Symbian and open sources Symbian/S60'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8244105285981211170</id><published>2008-06-16T19:50:00.000-07:00</published><updated>2008-06-16T19:51:03.196-07:00</updated><title type='text'>Future Salon: next-gen mobile devices.</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;My friend Martin send me an announcement for this &lt;a href="http://www.futuresalon.org/2008/06/mobile-devices.html"&gt;month's Future Salon&lt;/a&gt; on June 23th at SAP in Palo Alto. It address next-generation mobile devices.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.buglabs.net/"&gt;Bug Labs&lt;/a&gt; will be there.  I say them at &lt;b&gt;Where 2.0&lt;/b&gt;.  They allow you to hack hardware.  The start with a base computer about the size of a mobile.  You can then add GPS, accelerometer, motion detector, etc.&lt;br /&gt;&lt;br /&gt;I haven't heard of the other &lt;a href="http://itredux.com/2007/09/11/redux-model-1/"&gt;project&lt;/a&gt; but I look forward to hearing about it.&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8244105285981211170?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8244105285981211170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8244105285981211170' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8244105285981211170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8244105285981211170'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/06/future-salon-next-gen-mobile-devices.html' title='Future Salon: next-gen mobile devices.'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8568724432178420900</id><published>2008-06-15T20:05:00.001-07:00</published><updated>2008-06-15T20:05:55.968-07:00</updated><title type='text'>Telling Stories w/ maps</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Since returning from Where 2.0, I've been exploring telling stories with maps. Towards that end I've been creating a new site using the Google App Engine.&lt;br /&gt;&lt;br /&gt;As I read the news, I see a lot of stories which deal with people and the landscape but the websites don't use maps. This site will investigate alternative designs which treat the map as an integral part of the narrative. The first one involves endangered history sites in the United States as identified by the &lt;a href="http://www.preservationnation.org/"&gt;National Trust for Historic Preservation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Click &lt;a href="http://historicplaces3020.appspot.com/"&gt;here&lt;/a&gt; to check out my new site.&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8568724432178420900?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8568724432178420900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8568724432178420900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8568724432178420900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8568724432178420900'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/06/telling-stories-w-maps.html' title='Telling Stories w/ maps'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8644407496482121241</id><published>2008-06-15T17:23:00.000-07:00</published><updated>2008-06-15T17:26:20.204-07:00</updated><title type='text'>Magitti: mobile Leisure Guide</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;One characteristic I try to exploit when designing mobile applications is context. &lt;a href="http://www.parc.com/cms/get_article.php?id=745"&gt;Magitti&lt;/a&gt; is a great example.  It is both context and activity aware application which offers  recommendations. This lecture is available &lt;a href="http://www.parc.com/events/forum/archive.php"&gt;online&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-John&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8644407496482121241?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8644407496482121241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8644407496482121241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8644407496482121241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8644407496482121241'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/06/magitti-mobile-leisure-guide.html' title='Magitti: mobile Leisure Guide'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2205928712006891640</id><published>2008-05-27T12:31:00.000-07:00</published><updated>2008-05-27T12:40:14.846-07:00</updated><title type='text'>Development, highlighting LBS</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;This SD Forum's &lt;a href="http://www.sdforum.org/index.cfm?fuseaction=Calendar.eventDetail&amp;amp;eventID=13106"&gt;Mobile Internet SIG&lt;/a&gt;  will be hosting to  speakers focusing on Location Based services on June 5th in Menlo Park. &lt;br /&gt;&lt;br /&gt;&lt;a href=""&gt;Mario Tapia&lt;/a&gt; has a broad background in mobile. He is currently at Yahoo. &lt;br /&gt;&lt;br /&gt;Christian Wiklund is the CEO of &lt;a href="http://wichro.com/"&gt;Wichro&lt;/a&gt; which recently launched their ZKOUT social network which has LBS baked into its soul.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2205928712006891640?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2205928712006891640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2205928712006891640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2205928712006891640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2205928712006891640'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/development-highlighting-lbs.html' title='Development, highlighting LBS'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-7461628820755397254</id><published>2008-05-23T15:10:00.000-07:00</published><updated>2008-06-05T15:48:02.935-07:00</updated><title type='text'>Nokia code camp on LBS in Mt View</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Nokia is hosting code camp in Mountain View focused on LBS on June 10th. Click &lt;a href="http://mktools.forum.nokia.com/invitation/lbscodecamp"&gt;here&lt;/a&gt; for more details.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-7461628820755397254?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/7461628820755397254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=7461628820755397254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7461628820755397254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/7461628820755397254'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/nokia-code-camp-on-lbs-in-mt-view.html' title='Nokia code camp on LBS in Mt View'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8170618723596470310</id><published>2008-05-22T22:04:00.000-07:00</published><updated>2008-05-22T22:05:16.986-07:00</updated><title type='text'>ECOresearch: Semantic and Geospatial Web</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ecoresearch.net/climate/"&gt;ECOresearch&lt;/a&gt; is a website using Semantic Web and Geospatial Web techniques to aggregate environmental information.  I'll have to evaluate it when I'm not so tired.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8170618723596470310?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8170618723596470310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8170618723596470310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8170618723596470310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8170618723596470310'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/ecoresearch-semantic-and-geospatial-web.html' title='ECOresearch: Semantic and Geospatial Web'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4980179147142712691</id><published>2008-05-22T11:51:00.000-07:00</published><updated>2008-05-22T11:54:20.053-07:00</updated><title type='text'>GABA presents a mobile internet panel</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;German American Business Association is presenting a panel entitled &lt;a href="http://www.gaba-network.org/index.php?option=com_events&amp;amp;task=view_detail&amp;amp;agid=294&amp;amp;year=2008&amp;amp;month=06&amp;amp;day=12&amp;amp;Itemid=86"&gt;Internet Going Mobile&lt;/a&gt;. It  will be held on June 12th at SAP Labs.     They do a great job.   So, I'm looking forward to it.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4980179147142712691?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4980179147142712691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4980179147142712691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4980179147142712691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4980179147142712691'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/gaba-presents-mobile-internet-panel.html' title='GABA presents a mobile internet panel'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4746390910554686491</id><published>2008-05-21T10:35:00.000-07:00</published><updated>2008-05-21T10:44:14.279-07:00</updated><title type='text'>Spatial history</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;One aspect of Geospatial data which deserves more exploration is time. Richard White, a Stanford Professor, is the PI for the &lt;a href="http://www.stanford.edu/group/spatialhistory/"&gt;Spatial History Project&lt;/a&gt;.  While it appears early in the project, it looks very promising. I have much to learn from this site.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4746390910554686491?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4746390910554686491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4746390910554686491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4746390910554686491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4746390910554686491'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/spatial-history.html' title='Spatial history'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-3579961076850676404</id><published>2008-05-20T14:51:00.000-07:00</published><updated>2008-05-20T14:53:54.223-07:00</updated><title type='text'>GeoWeb 2008</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;I just learned about a conference called &lt;a href="http://geowebconference.org/about-geoweb-2008/about-geoweb-2008"&gt;GeoWeb&lt;/a&gt;. It will be held in Vancouver, BC, Canada on July 21st through the 25th.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-3579961076850676404?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/3579961076850676404/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=3579961076850676404' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3579961076850676404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/3579961076850676404'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/geoweb-2008.html' title='GeoWeb 2008'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-4813500094868551251</id><published>2008-05-20T14:36:00.000-07:00</published><updated>2008-05-20T14:49:03.593-07:00</updated><title type='text'>Science 2.0: The Design Science of Collaboration</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;There is another outstanding talk at Winograd's Seminar on People, Computers, and Design. The speaker is &lt;a href="http://www.cs.umd.edu/%7Eben/"&gt;Ben Shneiderman&lt;/a&gt;. He'll be talking about &lt;a href="http://hci.stanford.edu/seminar/abstracts/07-08/080523-shneiderman.html"&gt;Science 2.0: The Design Science of Collaboration&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-4813500094868551251?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/4813500094868551251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=4813500094868551251' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4813500094868551251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/4813500094868551251'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/sscience-20-design-science-of.html' title='Science 2.0: The Design Science of Collaboration'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-6429946065937302764</id><published>2008-05-18T15:51:00.000-07:00</published><updated>2008-05-18T15:54:08.348-07:00</updated><title type='text'>Recommended presentation from Where 2.0</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.holovaty.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Adrain&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Holovaty&lt;/span&gt;&lt;/a&gt; delivered a great presentation at Where 2.0. He uses maps to aggregate existing sources of information for Journalistic purposes. His latest project, called &lt;a href="http://www.everyblock.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Everyblock&lt;/span&gt;&lt;/a&gt;, is a great example.  For neighborhood's in Chicago, New York and San Francisco, it brings together information from government, business and user generated photos via &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;flickr&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://where.blip.tv/"&gt;His presentation&lt;/a&gt; is online. Also, his colleague wrote an excellent article explaining the Open Source &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;GIS&lt;/span&gt; stack. It is called &lt;a href="http://www.alistapart.com/articles/takecontrolofyourmaps"&gt;Take Control of your maps&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;jk&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-6429946065937302764?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/6429946065937302764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=6429946065937302764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6429946065937302764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/6429946065937302764'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/recommended-presentation-from-where-20.html' title='Recommended presentation from Where 2.0'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-9001393490032020063</id><published>2008-05-18T08:50:00.000-07:00</published><updated>2008-05-18T08:51:21.456-07:00</updated><title type='text'>public geo data</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;The recent &lt;b&gt;Where 2.0&lt;/b&gt; conference has me poking around geo data. Here are some sites which provide public data.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The US Census Bureau gives provides data on &lt;a href="http://www.census.gov/geo/www/cob/index.html"&gt;Cartographic Boundries&lt;/a&gt; states, counties and such. &lt;/li&gt;&lt;li&gt; The &lt;a href="http://nationalatlas.gov/atlasftp.html"&gt;USGS National Atlas&lt;/a&gt; provide a ton of interesting geo data.  &lt;/li&gt;&lt;li&gt; The Canadian Government has an outstanding site called &lt;a href="http://www.geobase.ca/"&gt;GeoBase&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;If you know of others, I'd love to hear about it.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-9001393490032020063?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/9001393490032020063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=9001393490032020063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/9001393490032020063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/9001393490032020063'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/public-geo-data.html' title='public geo data'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-5941126505832972050</id><published>2008-05-17T16:50:00.000-07:00</published><updated>2008-05-19T06:12:15.375-07:00</updated><title type='text'>Nokia's Tapio Tolvanen presents at SF ACM</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Nokia's Tapio Tolvanen will be presenting the following talk to the &lt;a href="http://sfbayacm.org/"&gt;SF Bay ACM&lt;/a&gt; on June 18th.   Their month meetings are at &lt;a href="http://sfbayacm.org/logistics.html"&gt;HP in Cupertino&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-jk&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;PRESENTATOR&lt;/span&gt;:&lt;br /&gt;Tapio Tolvanen, Technology Manager for Nokia Devices’ Linux Computers.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TOPIC&lt;/span&gt;:&lt;br /&gt;Developing software for mobile devices – Nokia Internet Tablets.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TOPIC SUMMARY&lt;/span&gt;:&lt;br /&gt;In this presentation, you will learn about the Nokia Internet tablets both from a hardware and software perspective. Explore the devices, applications and communities, hear the features and study the architecture of the operating system and hardware configuration. Also discover the&lt;br /&gt;essentials of the application development platform, ranging from application frameworks to development tools.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ABOUT THE PRESENTER&lt;/span&gt;:&lt;br /&gt;Tapio Tolvanen is currently a Technology Manager for Nokia Devices. Tolvanen has been defining architectures and guiding the development of several applications creating engaging and compelling Internet Experience on Nokia's first Open Source based platform - maemo. Prior  to this, Tolvanen has been developing several applications and products on Nokia's platforms, including Series 40, S60 and maemo in Europe, Asia and the U.S.A.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-5941126505832972050?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/5941126505832972050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=5941126505832972050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5941126505832972050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/5941126505832972050'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/nokias-tapio-tolvanen-presents-at-sf.html' title='Nokia&apos;s Tapio Tolvanen presents at SF ACM'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-2097061234169328867</id><published>2008-05-15T07:39:00.000-07:00</published><updated>2008-05-15T07:40:04.788-07:00</updated><title type='text'></title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://radar.oreilly.com/geo/"&gt;Here&lt;/a&gt; are some blog entries about the Where 2.0 conference from the official O'Reilly site. &lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-2097061234169328867?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/2097061234169328867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=2097061234169328867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2097061234169328867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/2097061234169328867'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/hello-here-are-some-blog-entries-about.html' title=''/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-8118771783035607217</id><published>2008-05-15T07:16:00.001-07:00</published><updated>2008-05-15T07:16:47.766-07:00</updated><title type='text'>Towards exposing location via the web browser</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.locationaware.org/about/"&gt;Locationaware&lt;/a&gt; mission is to establish a standard to expose location-specific information via the web browser.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-8118771783035607217?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/8118771783035607217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=8118771783035607217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8118771783035607217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/8118771783035607217'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/towards-exposing-location-via-web.html' title='Towards exposing location via the web browser'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-10428183.post-1044741215609020147</id><published>2008-05-12T10:12:00.000-07:00</published><updated>2008-05-12T10:17:06.129-07:00</updated><title type='text'>GeoGraffiti - combining voice and google maps</title><content type='html'>Hello,&lt;br /&gt;&lt;br /&gt;Today I &lt;a href="http://mobilecrunch.com/2008/05/09/talk-about-the-world-around-you-with-geograffiti/"&gt;read&lt;/a&gt; about &lt;a href="http://www.geograffiti.com/"&gt;GeoGraffiti&lt;/a&gt;.  It is a voice 2.0 mashup with google maps. All content is audio. You can call their &lt;a href="http://en.wikipedia.org/wiki/IVR"&gt;IVR&lt;/a&gt; and leave a voice message which will be associated with a place.  This is called a "Voice Mark" and will be shared with everyone.  Check out their &lt;a href="http://www.youtube.com/watch?v=GrjnmH-kfPw"&gt;demo&lt;/a&gt; on YouTube.&lt;br /&gt;&lt;br /&gt;They have a lot of challenges ahead of them from a technical, business and privacy stand point.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Voice data is hard to structure.  So, the kinds of queries you can ask about the data is limited.   If they obtain critical masse, how would they filter through all the voice marks for a popular location.  Also, it is difficult to ensure the quality of the recordings.  My un-scientific sample of their recordings revealed.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A young girl leaving a message for Captain Jack.  Was this intend for publication?  &lt;/li&gt;&lt;li&gt;a recording of a voice machine accepting a new recording.&lt;/li&gt;&lt;li&gt; an empty voice message&lt;/li&gt;&lt;li&gt;some guy telling us  about rad new gas station in Irvine.&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li&gt;You can become a "fan" of someone and track them.  That is be alerted as they leave new "Voice Marks". Their &lt;a href="http://www.geograffiti.com/privacy.html"&gt;privacy&lt;/a&gt; statement doesn't address this directly.&lt;/li&gt;&lt;/ul&gt;While I applaud the idea of combining telephony, the web and maps, they have a tough road ahead.&lt;br /&gt;&lt;br /&gt;-jk&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/10428183-1044741215609020147?l=kerncomputing.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kerncomputing.blogspot.com/feeds/1044741215609020147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=10428183&amp;postID=1044741215609020147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1044741215609020147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/10428183/posts/default/1044741215609020147'/><link rel='alternate' type='text/html' href='http://kerncomputing.blogspot.com/2008/05/hello-today-i-read-about-geograffiti.html' title='GeoGraffiti - combining voice and google maps'/><author><name>John Kern</name><uri>http://www.blogger.com/profile/10607690192829452051</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
