<?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-9117229</id><updated>2011-04-21T21:09:27.317-07:00</updated><title type='text'>Robert Burdick's Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9117229.post-6114192688372694907</id><published>2007-10-15T10:02:00.000-07:00</published><updated>2007-10-15T10:14:41.645-07:00</updated><title type='text'>The Boardwalk</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_3EZNk88-_gc/RxOf5rh-2VI/AAAAAAAAABs/2vfOph4sR8M/s1600-h/DSC00249.JPG"&gt;&lt;img style="float:left; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3EZNk88-_gc/RxOf5rh-2VI/AAAAAAAAABs/2vfOph4sR8M/s320/DSC00249.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5121613014537001298" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yesterday Rosie and Simon went to the Santa Cruz Beach Boardwalk with their friend Nico.  Rosie rode plactically everything, from the kid rides to the throw up rides like the Tsunami.  She did not throw up!  In fact, she's only thrown up once in here life (sorry, no pictures of that.)&lt;br /&gt;&lt;br /&gt;Simon's favorite ride is the Ferris Wheel.  He says he likes it most because it doesn't make him sick.  The picture at the top is Rosie, Nico, and Simon at the very top of the Ferris Wheel.  He did eat something called Dipping Dots, a weird sort of ice cream that sticks to your tongue as if it were kept frozen with liquid nitrogen.  At least he liked it!&lt;br /&gt;&lt;br /&gt;Simon also liked the climbing wall.  &lt;br /&gt;&lt;br /&gt;We finally got smart and bought a season pass.  Rosie and Simon have been to the Boardwalk tons of times, and this will keep my wallet from getting sick, too!!&lt;br /&gt;&lt;br /&gt;We all went to the beach afterwards.  It was a little chilly out, but that didn't seem to bother the kids in the least.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-6114192688372694907?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/6114192688372694907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=6114192688372694907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/6114192688372694907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/6114192688372694907'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2007/10/boardwalk.html' title='The Boardwalk'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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/_3EZNk88-_gc/RxOf5rh-2VI/AAAAAAAAABs/2vfOph4sR8M/s72-c/DSC00249.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-4220305043295102582</id><published>2007-09-28T19:26:00.000-07:00</published><updated>2007-09-28T19:37:35.579-07:00</updated><title type='text'>Power Outage</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_3EZNk88-_gc/Rv26O7h-2SI/AAAAAAAAABU/YG3yaWaXM30/s1600-h/DSC00038.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3EZNk88-_gc/Rv26O7h-2SI/AAAAAAAAABU/YG3yaWaXM30/s320/DSC00038.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5115449517423909154" /&gt;&lt;/a&gt;&lt;br /&gt;Saturday morning, I woke up around 6:45.  With the time change and all, that's about as late as I've managed to sleep on any given day.  Today the plan is to go into the office for half a day or so, since Tuesday was the big Ganesh Immersion holiday.  This is where the streets of every city are clogged with Hindu worshippers carrying statues of Ganesh to dunk in their favorite body of water.  Ganesh is the Hindu deity with the body of a man, but the head of an elephant.&lt;br /&gt;&lt;br /&gt;Around 7AM, I plugged my laptop into the wall, and simultaneously, the power in the entire apartment went dead.  I instantly thought that my laptop was somehow responsible.  But after looking up and down the hallway, and out at the other dark windows in the building, I figured it was a "planned" power outage.&lt;br /&gt;&lt;br /&gt;All of this reminded me of my days in Turkey.  Once in a while in the dead of winter, especially when a cold snow storm blew in from the Ukraine, I'd be without power and water for up to two days at a time.  The temperature in the apartment I lived in then would drop steadily.  By the time the power came back, it was frigid inside, and the toilet was in need of a good flush.&lt;br /&gt;&lt;br /&gt;At least here the weather is warm and the water is on.  Plus there's bound to be power at the office.  Or, maybe not...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-4220305043295102582?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/4220305043295102582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=4220305043295102582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/4220305043295102582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/4220305043295102582'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2007/09/power-outage.html' title='Power Outage'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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://1.bp.blogspot.com/_3EZNk88-_gc/Rv26O7h-2SI/AAAAAAAAABU/YG3yaWaXM30/s72-c/DSC00038.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-1639414933995011791</id><published>2007-09-28T19:01:00.001-07:00</published><updated>2007-09-28T19:24:51.214-07:00</updated><title type='text'>High Society</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_3EZNk88-_gc/Rv23ULh-2RI/AAAAAAAAABM/61Pvi5Vtvqs/s1600-h/DSC00066.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_3EZNk88-_gc/Rv23ULh-2RI/AAAAAAAAABM/61Pvi5Vtvqs/s320/DSC00066.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5115446309083339026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Friday, after a morning of phone calls and other office business, the KnoahSoft VP of Administration, Ramana Reddy, took me for a tour of the main call center facility in the Hyderabad commercial district.&lt;br /&gt;&lt;br /&gt;Quite unlike the other parts of the city I had seen so far, this part, called Banjara Hills, was all new construction, glass, and steel.  This is clearly where the well-heeled of Hyderabad shop, dine, and hang out.  After visiting the call center, Ramana took me to lunch in a restaurant outfitted with a vintage railcar and fabulous Indian food.&lt;br /&gt;&lt;br /&gt;The people in the restaurant, as well as the rest of the shopping center, were clearly the benficiaries of the IT boom that has lifted some peoples boats throughout India.  It was almost like not being in India at all.&lt;br /&gt;&lt;br /&gt;The contrast between this one mall and the rest of the infrastructure is pretty stark.  We drove back to the office from this modern commercial district in clogged traffic on worn out, potholed roads desperately in need of the kind of spending and attention as the place we just left.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-1639414933995011791?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/1639414933995011791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=1639414933995011791' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/1639414933995011791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/1639414933995011791'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2007/09/high-society.html' title='High Society'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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/_3EZNk88-_gc/Rv23ULh-2RI/AAAAAAAAABM/61Pvi5Vtvqs/s72-c/DSC00066.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-7963627629145928912</id><published>2007-09-28T04:02:00.000-07:00</published><updated>2007-09-28T04:37:44.563-07:00</updated><title type='text'>Home Sweet Home</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_3EZNk88-_gc/RvzmHrh-2QI/AAAAAAAAABA/8CYn3HxwI0Q/s1600-h/apt.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_3EZNk88-_gc/RvzmHrh-2QI/AAAAAAAAABA/8CYn3HxwI0Q/s320/apt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5115216296404769026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I got back to the apartment and had dinner.  Next time I'll try and write up something about the food and my cook, Suresh.  But this time around I want to talk about the home front.  I had run out of bottled water, so I decided to head down to the restaurant associated with the apartment complex to buy some.&lt;br /&gt;&lt;br /&gt;The weather outside has not been terribly hot, and this evening was positively beautiful.  A slight breeze kept the air clear, and the complex and grounds that the apartment is in are pretty quiet and clean.&lt;br /&gt;&lt;br /&gt;The surprise, though, was the park and immaculate swimming pool at the back of the complex.  There were lots of kids running around, as there are many families living here.  The scene was not much different than what I'd find at any park back home: families spending time after work with their kids.  &lt;a href="http://www.wAppearances.com/india/MOV00053.MPG" target="_blank"&gt;Click here for a look.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On the way back, I passed an old couple sitting near the pool, enjoying the evening.  I said "hi" and they invited me to sit.  So we sat and chatted for a few minutes.  He told me proudly about his daughter who's a VP at a local IT company.  &lt;br /&gt;&lt;br /&gt;Proud parents, happy kids playing.  Just like at home.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-7963627629145928912?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/7963627629145928912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=7963627629145928912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/7963627629145928912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/7963627629145928912'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2007/09/home-sweet-home.html' title='Home Sweet Home'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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://3.bp.blogspot.com/_3EZNk88-_gc/RvzmHrh-2QI/AAAAAAAAABA/8CYn3HxwI0Q/s72-c/apt.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-919875257427679449</id><published>2007-09-27T06:15:00.000-07:00</published><updated>2007-09-28T04:35:08.319-07:00</updated><title type='text'>On India Time</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3EZNk88-_gc/RvuvgLh-2NI/AAAAAAAAAAo/yd-JFf6qE2U/s1600-h/street.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3EZNk88-_gc/RvuvgLh-2NI/AAAAAAAAAAo/yd-JFf6qE2U/s320/street.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5114874769195325650" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Day 2, and I think I'm totally adjusted to the 12.5 hour time change.  This meant that I was able to get through the day at the office without my eyes glazing over.  This was useful, as I spent the day with Shankar and Virinchi working through the KnoahSoft 2.0 database model and related software design.  Did I say I managed to make it through &lt;i&gt;that&lt;/i&gt; without my eyes glazing over?  Must be the water...&lt;br /&gt;&lt;br /&gt;I got a ride "home" with Virinchi.  He had to run a few errands, giving me a chance to take some photos and video.  &lt;a href="http://www.wAppearances.com/india/street.mpg" target="_blank"&gt;Have a look here for the video.&lt;/a&gt;  If the link doesn't work, it's because my Internet connection here was too slow to upload the huge file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-919875257427679449?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/919875257427679449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=919875257427679449' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/919875257427679449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/919875257427679449'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2007/09/on-india-time.html' title='On India Time'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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://4.bp.blogspot.com/_3EZNk88-_gc/RvuvgLh-2NI/AAAAAAAAAAo/yd-JFf6qE2U/s72-c/street.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-6431984720703019115</id><published>2007-09-26T05:19:00.000-07:00</published><updated>2007-09-26T05:42:30.887-07:00</updated><title type='text'>Getting Down to Business</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3EZNk88-_gc/RvpOibh-2MI/AAAAAAAAAAg/fD-6f2y3HG0/s1600-h/group.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3EZNk88-_gc/RvpOibh-2MI/AAAAAAAAAAg/fD-6f2y3HG0/s320/group.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5114486680245426370" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The first day at work in India was interesting and eyeopening.  After a 5 mile drive through throngs of traffic, consisting primarily of yellow motorized jitneys and water buffalo herds, I reached the KnoahSoft building.&lt;br /&gt;&lt;br /&gt;The moment I arrived, the work began.  I've been meeting with the technical leads of the India development team, some of whom are photographed above (Phani, Shankar, and Virinchi, left to right.)  The primary purpose of my trip is to coordinate the design and architecture of the various technolgies to be integrated in the KnoahSoft products.  So the more time I can spend with these folks, the better.&lt;br /&gt;&lt;br /&gt;Around three o'clock, I was getting pretty tired from jet lag.  This was just as well, since at that very time my to "handlers," Malik and Ramand, took me on a grocery shopping junket.  So I got to wander through a Hyderabad Q-Mart, something like a cross between Safeway and Nordstrom's.  There were a few other Westerners shopping there, and I wondered what they did in India.  Malik and Ramand then took me back to the apartment, and showed me around the virtually empty gyn and totally empty swimming pool that belong to the apartment complex.  Beautiful facilities, being used by no one.  I couldn't help but think how much Rosie and Simon would have loved the pool.&lt;br /&gt;&lt;br /&gt;As we left, I passed a blond boy who was about 6.  He looked at me like I must have been looking at him, with a face that said "what could you possibly be doing here?"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-6431984720703019115?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/6431984720703019115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=6431984720703019115' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/6431984720703019115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/6431984720703019115'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2007/09/getting-down-to-business.html' title='Getting Down to Business'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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://4.bp.blogspot.com/_3EZNk88-_gc/RvpOibh-2MI/AAAAAAAAAAg/fD-6f2y3HG0/s72-c/group.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-1439586730023942628</id><published>2007-09-26T05:10:00.000-07:00</published><updated>2007-09-26T05:19:05.342-07:00</updated><title type='text'>Dealing with Jet Lag</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_3EZNk88-_gc/RvpOMbh-2LI/AAAAAAAAAAY/tWfCuGjOAQM/s1600-h/DSC00035.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_3EZNk88-_gc/RvpOMbh-2LI/AAAAAAAAAAY/tWfCuGjOAQM/s320/DSC00035.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5114486302288304306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I landed in India last night around 11PM.  This picture gives a pretty good idea of what everything looked like to me after nearly 24 hours in transit from San Francisco to Hyderabad.&lt;br /&gt;&lt;br /&gt;After getting my bags, finding my driver, and reaching the aprtment and getting settled, I got to bed just after 2AM.  I managed to sleep on and off until about 6:30 in the morning, when I decided to give up trying and get ready to head into the office.&lt;br /&gt;&lt;br /&gt;Amazingly, I wasn't completely wiped out today.  I was definitely tired, but I managed to make it through the day without collapsing.  My hope is to stay up until about 8 tonight, then hit the hay and sleep all night.  That should be enough to get adjusted to the time change.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-1439586730023942628?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/1439586730023942628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=1439586730023942628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/1439586730023942628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/1439586730023942628'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2007/09/dealing-with-jet-lag.html' title='Dealing with Jet Lag'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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://4.bp.blogspot.com/_3EZNk88-_gc/RvpOMbh-2LI/AAAAAAAAAAY/tWfCuGjOAQM/s72-c/DSC00035.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-2682558641965861599</id><published>2007-09-23T09:08:00.000-07:00</published><updated>2007-09-23T09:19:20.446-07:00</updated><title type='text'>The Countdown Begins</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_3EZNk88-_gc/RvaRirh-2KI/AAAAAAAAAAQ/jI_kxuAn7jE/s1600-h/DSC00033.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_3EZNk88-_gc/RvaRirh-2KI/AAAAAAAAAAQ/jI_kxuAn7jE/s320/DSC00033.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5113434451912612002" /&gt;&lt;/a&gt;&lt;br /&gt;In about 24 hours, I start the journey to India.  I'm getting all of my last minute preparations done.  Not least of these is spending time with the kids.  Simon just read his first "I Spy" book all by himself.  I'll miss working with him on reading, but it's only 11 days.  Rosie?  She spent the night at a friends, and is pretty busy with her own life!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-2682558641965861599?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/2682558641965861599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=2682558641965861599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/2682558641965861599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/2682558641965861599'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2007/09/countdown-begins.html' title='The Countdown Begins'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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://1.bp.blogspot.com/_3EZNk88-_gc/RvaRirh-2KI/AAAAAAAAAAQ/jI_kxuAn7jE/s72-c/DSC00033.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-114478361825484721</id><published>2006-04-11T12:23:00.000-07:00</published><updated>2006-04-11T12:27:21.243-07:00</updated><title type='text'>Native Mobile Blog</title><content type='html'>I just noticed that fellow Microsoft MVP João Paulo Figueira posted a link to my blog.  His own blog, Native Mobile, &lt;a href="http://nativemobile.blogspot.com" target="_blank"&gt;can be found here&lt;/a&gt;.  He's got a lot of great resources on his site for native Windows CE code development.&lt;br /&gt;&lt;br /&gt;Have a look, and thanks João Paulo for the plug!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-114478361825484721?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/114478361825484721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=114478361825484721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/114478361825484721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/114478361825484721'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2006/04/native-mobile-blog.html' title='Native Mobile Blog'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-114435710195469908</id><published>2006-04-06T13:55:00.000-07:00</published><updated>2006-04-06T13:58:21.970-07:00</updated><title type='text'>Embedded Systems Conference 2006 Slides</title><content type='html'>Here is the final version of my slides from my Embedded Systems Conference 2006 (San Jose) presentation &lt;strong&gt;Embedded Application Programming With Windows CE&lt;/strong&gt;.  Thanks to all of you who attended!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wappearances.com/ESC-462.ppt" target="_blank"&gt;Click Here For The Slides&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-114435710195469908?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/114435710195469908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=114435710195469908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/114435710195469908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/114435710195469908'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2006/04/embedded-systems-conference-2006.html' title='Embedded Systems Conference 2006 Slides'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-113241678591017751</id><published>2005-11-19T08:10:00.000-08:00</published><updated>2005-11-19T08:13:06.463-08:00</updated><title type='text'>The Los Altos Town CryBaby</title><content type='html'>I've finally started a new blog for all of my rantings about local and national politics and related issues.  That way I can keep this blog focussed on the mobile and embedded software development topics it was original created for.&lt;br /&gt;&lt;br /&gt;On the off chance that you miss my other writing, you can read my latest opinions at &lt;a href="http://lacrybaby.blogspot.com" target="_blank"&gt;The Los Altos Town CryBaby&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-113241678591017751?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/113241678591017751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=113241678591017751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113241678591017751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113241678591017751'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/11/los-altos-town-crybaby.html' title='The Los Altos Town CryBaby'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-113152131308028766</id><published>2005-11-08T23:22:00.000-08:00</published><updated>2005-11-08T23:29:57.656-08:00</updated><title type='text'>Microsoft Gets Religion And Gets Scared</title><content type='html'>The company thought that the Internet was a passing fad.  The company thought that open source operating system and other software offerings would not be attractive because they would not be reliable, or that they came from sources who may not maintain and support those offerings.  Now that the software world is turning sharply in the direction of service based architecture and subscription based or free, advertising supported models, Microsoft Corporation desperately wants to make sure it isn't left behind again.&lt;br /&gt;&lt;br /&gt;In an October 30 memo to senior executives, which relied heavily on insights and analysis from CTO Ray Ozzie, Microsoft Chairman Bill Gates left no doubt that the company was way behind in the race to the top of this new wave of software innovation.  The following story from AP details Bill's "Burning Bush" moment:&lt;br /&gt;&lt;br /&gt;------------------------------------------------------------------------------&lt;br /&gt;AP&lt;br /&gt;Gates Warns of 'Sea Change' in Memo&lt;br /&gt;Wednesday November 9, 12:07 am ET &lt;br /&gt;By Allison Linn, AP Business Writer  &lt;br /&gt;Microsoft's Bill Gates Says in Memo Internet-Based Services Represents Major 'Sea Change' &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SEATTLE (AP) -- The technology industry shift's to Internet-based software and services represents a massive and disruptive "sea change," Microsoft Chairman Bill Gates wrote to top-level executives in a memo aimed at rallying his troops against the new competitive threats the company faces. &lt;br /&gt; &lt;br /&gt;In an e-mail to top executives, dated Oct. 30 and obtained late Tuesday by The Associated Press, Gates urged company leaders to "act quickly and decisively" to move further into the field of offering such services, in order to best formidable competitors. But he also warned that the company must be thoughtful in building the right technology to serve the right audience.&lt;br /&gt;&lt;br /&gt;"This coming 'services wave' will be very disruptive," Gates wrote. "We have competitors who will seize on these approaches and challenge us -- still, the opportunity to lead is very clear."&lt;br /&gt;&lt;br /&gt;Gates compares the push toward such services -- which range from online business software offerings to free Web-based e-mail -- to the changes he saw nearly a decade ago. Then, he wrote a now-famous memo, called "The Internet Tidal Wave," the prompted a massive shift at Microsoft toward Internet-based technology.&lt;br /&gt;&lt;br /&gt;"The next sea change is upon us," Gates wrote to executives.&lt;br /&gt;&lt;br /&gt;Gates included a memo from Ray Ozzie, one of Microsoft's three chief technical officers, which outlined ideas for broad companywide changes that can address the growing competitive threat.&lt;br /&gt;&lt;br /&gt;In the memo, dated Oct. 28, Ozzie concedes that Microsoft has not led the pack on Internet-based software and services, and now faces intense competition from companies like Google Inc. Ozzie said Microsoft needs to focus on key tenets of the new model, including a shift toward offering free, advertising-supported offerings and more sophisticated, Internet-based methods of delivering products.&lt;br /&gt;&lt;br /&gt;"I believe at this juncture it's generally very clear to each of us why we need to transform -- the competitors, the challenges, and the opportunities," Ozzie wrote.&lt;br /&gt;&lt;br /&gt;Last week, Microsoft announced plans for Windows Live and Office Live, two Web-based offerings that aim to help the company compete with Google, Yahoo Inc., Salesforce.com and other companies that are already seeing success with such Web-based offerings.&lt;br /&gt;&lt;br /&gt;Microsoft has recently faced criticism that its model, which still relies mostly on delivering software in traditional packaging, could grow antiquated. The concern is that, as more companies offer online services for everything from word processing to storing photos, there will be less of a need for Microsoft's lucrative Windows operating system and Office business software.&lt;br /&gt;&lt;br /&gt;Microsoft's nascent Windows Live and Office Live efforts aim to complement its valuable software franchises with online products that build on what people find on their desktop computers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-113152131308028766?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/113152131308028766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=113152131308028766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113152131308028766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113152131308028766'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/11/microsoft-gets-religion-and-gets.html' title='Microsoft Gets Religion And Gets Scared'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-113097125542998284</id><published>2005-11-02T14:40:00.000-08:00</published><updated>2005-11-02T15:03:49.980-08:00</updated><title type='text'>SQL Server CE Sample Code</title><content type='html'>In response to some recent Microsoft newsgroup questions about using SQL Server CE for PocketPC applications, I am posting this sample code.  It is a database utilities class that demonstrates how to create a database, create a table, and read / query and insert records from the table.  Please forgive the fact that I didn't take the time to pretty up the format.  It is readable enough for a reasonablty experience PocketPC developer to follow.&lt;br /&gt;&lt;br /&gt;The sample is written in C# using the .NET Compact Framework.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Windows.Forms;&lt;br /&gt;using System.Data.SqlServerCe;&lt;br /&gt;namespace database&lt;br /&gt;{&lt;br /&gt; /// &lt;summary&gt;&lt;br /&gt; /// Summary description for Database.&lt;br /&gt; /// &lt;/summary&gt;&lt;br /&gt; /// &lt;br /&gt; public class DatabaseUtils&lt;br /&gt; {&lt;br /&gt;  private String strFile = @"My Documents\myDB.sdf";&lt;br /&gt;  private String strConn = &lt;br /&gt;     "DataSource="+@"My Documents\myDB.sdf";&lt;br /&gt;  private SqlCeConnection connection;&lt;br /&gt;  private SqlCeDataAdapter adapter;&lt;br /&gt;&lt;br /&gt;  #region LoadTable Event Type Declarations&lt;br /&gt;  public class LoadTableEventArgs&lt;br /&gt;  {&lt;br /&gt;   private System.Data.DataSet data_set;&lt;br /&gt;&lt;br /&gt;   #region LoadTableEventArgs Class Properties&lt;br /&gt;   public System.Data.DataSet DataSet&lt;br /&gt;   {&lt;br /&gt;    get { return (this.data_set); }&lt;br /&gt;   }&lt;br /&gt;   #endregion&lt;br /&gt;   public LoadTableEventArgs()&lt;br /&gt;   {&lt;br /&gt;    this.data_set = new System.Data.DataSet();&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public delegate void LoadTableEventHandler(&lt;br /&gt;     Object sender,&lt;br /&gt;     LoadTableEventArgs args);&lt;br /&gt;  public event LoadTableEventHandler LoadTableEvent;&lt;br /&gt;  #endregion&lt;br /&gt;&lt;br /&gt;  public DatabaseUtils()&lt;br /&gt;  {&lt;br /&gt;   //&lt;br /&gt;   // TODO: Add constructor logic here&lt;br /&gt;   //&lt;br /&gt;   adapter = new SqlCeDataAdapter();&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void CreateDatabase()&lt;br /&gt;  {&lt;br /&gt;   if (System.IO.File.Exists(this.strFile))&lt;br /&gt;   {&lt;br /&gt;    DialogResult res;&lt;br /&gt;    res = MessageBox.Show(&lt;br /&gt;     "The database " + this.strFile +&lt;br /&gt;                " already exists.\r\n" +&lt;br /&gt;     "This operation will delete and&lt;br /&gt;          recreate and empty database.\r\n" +&lt;br /&gt;     "Do you want to proceed?",&lt;br /&gt;     "Database Delete",&lt;br /&gt;     MessageBoxButtons.YesNo,&lt;br /&gt;     MessageBoxIcon.Question,&lt;br /&gt;     MessageBoxDefaultButton.Button2&lt;br /&gt;     );&lt;br /&gt;    if (res == DialogResult.Yes)&lt;br /&gt;    {&lt;br /&gt;     System.IO.File.Delete(this.strFile);&lt;br /&gt;    }&lt;br /&gt;    else&lt;br /&gt;    {&lt;br /&gt;     return;&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   SqlCeEngine dbEngine = new SqlCeEngine();&lt;br /&gt;   dbEngine.LocalConnectionString = this.strConn;&lt;br /&gt;   try&lt;br /&gt;   {&lt;br /&gt;    dbEngine.CreateDatabase();&lt;br /&gt;    if (OpenConnection())&lt;br /&gt;    {&lt;br /&gt;     SqlCeCommand cmd = new SqlCeCommand();&lt;br /&gt;     cmd.Connection = connection;&lt;br /&gt;     cmd.CommandText =&lt;br /&gt;      "create table Users " +&lt;br /&gt;      "(user_id integer not null IDENTITY(0,1)&lt;br /&gt;         constraint PKuser_id PRIMARY KEY " +&lt;br /&gt;      ", first_name nvarchar(100) " +&lt;br /&gt;      ", last_name nvarchar(100))";&lt;br /&gt;     cmd.ExecuteNonQuery();&lt;br /&gt;     CloseConnection();&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;   catch (System.Data.SqlServerCe.SqlCeException e)&lt;br /&gt;   {&lt;br /&gt;    System.Windows.Forms.MessageBox.Show(&lt;br /&gt;     "Unable to create database"&lt;br /&gt;     );&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public void InsertUser(String first_name,&lt;br /&gt;    String last_name)&lt;br /&gt;  {&lt;br /&gt;   try&lt;br /&gt;   {&lt;br /&gt;    if (OpenConnection())&lt;br /&gt;    {&lt;br /&gt;     SqlCeCommand cmd = new SqlCeCommand();&lt;br /&gt;     cmd.Connection = connection;&lt;br /&gt;     cmd.CommandText =&lt;br /&gt;     "insert into Users (first_name, last_name)+&lt;br /&gt;     "values" +&lt;br /&gt;     "('" + first_name + "', '" + last_name +"')";&lt;br /&gt;     cmd.ExecuteNonQuery();&lt;br /&gt;     CloseConnection();&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;   catch (SqlCeException e)&lt;br /&gt;   {&lt;br /&gt;    MessageBox.Show(&lt;br /&gt;     "Unable to insert record into Users table." +&lt;br /&gt;       Reason: " + e.Errors[0].Message&lt;br /&gt;     );&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  public bool LoadTable(String table)&lt;br /&gt;  {&lt;br /&gt;   bool bResult = true;&lt;br /&gt;   try&lt;br /&gt;   {&lt;br /&gt;    if (OpenConnection())&lt;br /&gt;    {&lt;br /&gt;     if (this.LoadTableEvent != null)&lt;br /&gt;     {&lt;br /&gt;      LoadTableEventArgs args&lt;br /&gt;       = new LoadTableEventArgs();&lt;br /&gt;      SqlCeCommand cmd = new SqlCeCommand();&lt;br /&gt;      cmd.Connection = connection;&lt;br /&gt;      cmd.CommandText = "select * from " + table;&lt;br /&gt;      adapter.SelectCommand = cmd;&lt;br /&gt;      adapter.Fill(args.DataSet);&lt;br /&gt;      this.LoadTableEvent(this, args);&lt;br /&gt;     }&lt;br /&gt;     CloseConnection();&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;   catch (SqlCeException e)&lt;br /&gt;   {&lt;br /&gt;    MessageBox.Show(&lt;br /&gt;     "An error occurred in ViewTable."&lt;br /&gt;          + e.Errors[0].Message&lt;br /&gt;     );&lt;br /&gt;    bResult = false;&lt;br /&gt;   }&lt;br /&gt;   return (bResult);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  ///Private helper methods&lt;br /&gt;  private bool OpenConnection()&lt;br /&gt;  {&lt;br /&gt;   bool bResult = true;&lt;br /&gt;   try&lt;br /&gt;   {&lt;br /&gt;    connection = new SqlCeConnection();&lt;br /&gt;    connection.ConnectionString = this.strConn;&lt;br /&gt;    connection.Open();&lt;br /&gt;   }&lt;br /&gt;   catch (System.Data.SqlServerCe.SqlCeException e)&lt;br /&gt;   {&lt;br /&gt;    System.Windows.Forms.MessageBox.Show(&lt;br /&gt;     "Error occurred in OpenConnection"&lt;br /&gt;       + e.Errors[0].Message&lt;br /&gt;     );&lt;br /&gt;    bResult = false;&lt;br /&gt;   }&lt;br /&gt;   return (bResult);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  private bool CloseConnection()&lt;br /&gt;  {&lt;br /&gt;   bool bResult = true;&lt;br /&gt;   try&lt;br /&gt;   {&lt;br /&gt;    connection.Close();&lt;br /&gt;   }&lt;br /&gt;   catch (SqlCeException e)&lt;br /&gt;   {&lt;br /&gt;    System.Windows.Forms.MessageBox.Show(&lt;br /&gt;     "Error occurred in CloseConnection"&lt;br /&gt;       + e.Errors[0].Message&lt;br /&gt;     );&lt;br /&gt;    bResult = false;&lt;br /&gt;   }&lt;br /&gt;   return (bResult);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-113097125542998284?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/113097125542998284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=113097125542998284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113097125542998284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113097125542998284'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/11/sql-server-ce-sample-code.html' title='SQL Server CE Sample Code'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-113091434773206573</id><published>2005-11-01T22:42:00.000-08:00</published><updated>2005-11-01T22:52:27.743-08:00</updated><title type='text'>Harry Reid Redeemed</title><content type='html'>My esteem for Democratic party leader Harry Reid has been redeemed!  After losing me with his endorsement of Harriet Meirs for the Supreme Court, "Give 'Em Hell Harry" has made me proud by forcing his rivals in the Republican controlled Senate to participate in a behind closed doors session to discuss the Bush administration's fast and loose approach to pre Iraq War intelligence analysis.  Harry exceeded all expectations and corraled the Senate majority for some 2 hours and forced them to address tough questions about the Valerie Plame case, and other matters related to Bush and his cronies cooking the books to lead us all to war.&lt;br /&gt;&lt;br /&gt;I even have begun to believe that the Meirs support I previously derided might have been a clever move on Reid's part to push Meirs into the spotlight in order to egg on a fight between Bush and the conservative religios ideologues he so wishes to please.  My faith in the Dumbocrats is slowly being restored.  Not enough yet, mind you, to turn in my fresh status as a registered independent.  But in time, if Harry keeps up the fight and inspires the rest of the Democrats in Congress to wake up, I just might need to reconsider my party afiliation once again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-113091434773206573?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/113091434773206573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=113091434773206573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113091434773206573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113091434773206573'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/11/harry-reid-redeemed.html' title='Harry Reid Redeemed'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-113030860908970864</id><published>2005-10-25T23:26:00.000-07:00</published><updated>2005-10-25T23:36:49.096-07:00</updated><title type='text'>Open Letter to the Residents: Give It Up!</title><content type='html'>It pains me to say this, here on a blog with so much information and adulation of the great anonymous band The Residents.  But there comes a time in each group's life when it becomes unmistakably clear that it is time to hang it up.  Some groups, most notably The Rolling Stones, can't seem to bring themselves to quit in the face of increasingly ridiculous recordings and past their prime posturing.&lt;br /&gt;&lt;br /&gt;Unfortunately, The Residents have joined their ranks.  Their last couple of recordings, such as the utterly horrid "Animal Lover", have been abominable.  Their latest, "The Way We Were", is, if possible, even worse.  The release contains a CD and DVD of the "What is Music?" performances that The Residents put on in Australia.  Many fans wondered if the show would make it to the US.  After hearing this CD and suffering through the DVD, you'll be glad it didn't.  The arrangments of the songs are completely uninspired.  Only the backing band, most notably guitarist Nolan Cook, sound like they were actually present for the performances.  Molly Harvey's vocals are feeble, and Homer Flynn, aka Mr. Skull, one of the two remaining original band members and "leader", is nothing compared to how he sounded years ago when the group had something unique to offer.&lt;br /&gt;&lt;br /&gt;So, after 33 years in the music business, I'd say it's time for them to call it quits.  Everyone who cares knows who the "anonymous" band members are (and who the original members no longer present were), we've all grown tired of $40 "limited edition" releases that totally suck, and fresher sounds are waiting to be heard.&lt;br /&gt;&lt;br /&gt;If The Residents still have a sense of humor, they should quietly disappear, without a trace, back into the obscurity from which they came so long ago.&lt;br /&gt;&lt;img src="http://demo.wappearances.com/residents/twww.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-113030860908970864?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/113030860908970864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=113030860908970864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113030860908970864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/113030860908970864'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/10/open-letter-to-residents-give-it-up.html' title='Open Letter to the Residents: Give It Up!'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-112887223036688952</id><published>2005-10-09T08:33:00.000-07:00</published><updated>2005-10-09T08:37:50.883-07:00</updated><title type='text'>Microsoft MVP Award 2006</title><content type='html'>I don't generally toot my horn.  But there's an old saying, if you don't toot your own horn no one else will.&lt;br /&gt;&lt;br /&gt;So, I'd like to announce here that I've been named a &lt;strong&gt;Microsoft Most Valuable Professional&lt;/strong&gt; (MVP) for 2006 for my speciality of Windows embedded and mobile device programming.  This marks my 6th year in the program since my first award in 2001.&lt;br /&gt;&lt;br /&gt;If you are interested, details of the MVP program can be found &lt;a href="http://www.microsoft.com/mvp" target="_blank"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-112887223036688952?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/112887223036688952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=112887223036688952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112887223036688952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112887223036688952'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/10/microsoft-mvp-award-2006.html' title='Microsoft MVP Award 2006'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-112853266822157410</id><published>2005-10-05T10:11:00.000-07:00</published><updated>2005-10-05T10:17:48.236-07:00</updated><title type='text'>Embedded Systems Conference 2006 Silicon Valley</title><content type='html'>I just received word that I will be presenting again this year at the Embedded Systems Conference Silicon Valley.  This time the conference is being held at the McEnery Convention Center in San Jose, CA, April 3- 7 2006.  I will be presenting the session &lt;strong&gt;Embedded Applications Programming With Windows CE&lt;/strong&gt;.  Details of the conference can be found &lt;a href="http://www.esconline.com/sv/;jsessionid=MKSNCNF5EGGHMQSNDBCCKHSCJUMEKJVN" target="_blank"&gt;here&lt;/a&gt;.  The abstract for my talk can be found &lt;a href="http://www.wAppearances.com" target="_blank"&gt;here&lt;/a&gt;.  I will make my proceedings paper, slides, and sample code available on my blog once they are ready.&lt;br /&gt;&lt;br /&gt;I found last year's conference to be extremely informative, with sessions covering a wide range of timely embedded systems prgramming and design topics.  The trade show floor is also a great venue for learning about the latest offerings from the leading vendors in the embedded systems space.  So, if you can make it, you won't be disappointed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-112853266822157410?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/112853266822157410/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=112853266822157410' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112853266822157410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112853266822157410'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/10/embedded-systems-conference-2006.html' title='Embedded Systems Conference 2006 Silicon Valley'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-112840581001779201</id><published>2005-10-03T22:57:00.000-07:00</published><updated>2005-10-03T23:07:14.020-07:00</updated><title type='text'>Harriet Miers</title><content type='html'>I rarely rant, but this issue warrants it.  George Dumbo-Ya Bush nominates his Texas crony Harriet Miers to succeed Sandra Day O'Conner on the Supreme Court.  She's got zero judicial experience.  That should be enough to bring the Democratic leadership out of its collective deep sleep.  Yet Harry Reid, my so called Senate minority leader, actually &lt;a href="http://news.yahoo.com/s/ap/20051004/ap_on_go_pr_wh/bush_scotus;_ylt=ApbkGaPf5KjsC0sb_ZbnCGCs0NUE;_ylu=X3oDMTA2Z2szazkxBHNlYwN0bQ--" target="_blank"&gt;endorsed this gal.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I decided to write to the idiot, and to register as an independent to boot.  Just in case you're interested, here's the email I sent to Reid, with a cc: to his cohort Nancy Pelosi:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;I am mad as hell that the Democratic party, MY party, refuses to stand up to George W. Bush and his inane supreme court nominations.  I am especially incensed that you endorse Harriet Meirs as Sandra Day O'Conner's replacement.  You even went as far as saying that you'd be OK with a justice with no experience as a judge! Be the first to know that after years of rolling over and playing dead when it comes to the war in Iraq and now the bastardization of the highest court in the land, I am abandoning my 25+ year membership with the party and regisitering tomorrow as an independent.&lt;br /&gt;&lt;br /&gt;You and the rest of the Democratic members of Congress should be ashamed with how you have let the American people down.  As the minority, you have nothing more to lose.  Start fighting for me, or get the hell out of the way.&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;I've got no illusions that either Reid or Pelosi will read my email.  But I felt what I wrote had to be said.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-112840581001779201?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/112840581001779201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=112840581001779201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112840581001779201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112840581001779201'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/10/harriet-miers.html' title='Harriet Miers'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-112826833458870824</id><published>2005-10-02T08:41:00.000-07:00</published><updated>2005-10-02T08:52:14.593-07:00</updated><title type='text'>2005 MVP Summit - Update</title><content type='html'>I obviously didn't manage to post every day.  The Microsoft guys kept us busy morning to night, so there really wasn't a spare moment.  It was all worthwhile, however, as the Windows CE and Windows Mobile teams provided a ton of information about upcoming platforms and features.  Being an NDA event, I can't provide too many deatils.  But suffice it to say that the kinds of things you'll be able to build and the types of applications you'll be able to write will be like nothing you've done before.&lt;br /&gt;&lt;br /&gt;On the desktop and web development front, we saw a lot of new Windows Vista ("Lornhorn" to the rest of us) features, Avalon and Indigo capabilities for rich user interfaces and service based software, and ASP.NET features that will make web development more productive.&lt;br /&gt;&lt;br /&gt;All in all, the 2005 MVP Summit was a huge success, and well worth attending.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-112826833458870824?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/112826833458870824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=112826833458870824' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112826833458870824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112826833458870824'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/10/2005-mvp-summit-update.html' title='2005 MVP Summit - Update'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-112793431788595411</id><published>2005-09-28T11:57:00.000-07:00</published><updated>2005-09-28T12:09:26.743-07:00</updated><title type='text'>2005 MVP Summit - Day 1</title><content type='html'>The 2005 Microsoft MVP Summit kicks off today in Redmond.  As registration doesn't officially begin until 1PM, I had the entire morning to wander around downtown Seattle.  The weather today was a beautiful 73 degrees and sunny.  Many of the locals told me this is the last nice day of the year before the rain begins.  So it's probably the last time they'll see someone like me walking around in Hawaiian shirt, shorts, and Tevas for a while.&lt;br /&gt;&lt;br /&gt;I had a nice walk down to the famous Pike's Place Market where I was able to grab a great breakfast at the Athenian for $6.95.  It's too bad San Francsico can't offer something like this:  classic 1907 building overlooking the bay, decent grub at a fabulous price, and no pretention or jaded demeanor.&lt;br /&gt;&lt;br /&gt;I then checked into a few of the fresh fish markets, sampling the best crab and smoked Salmon I've ever tasted.  Again, I was left wondering why San Francisco, right on the Pacific Ocean, offers such dismal seafood choices.&lt;br /&gt;&lt;br /&gt;Finally, I spent an hour looking around the new  Seattle Public Library.  This is a 12 story glass building with great views of the city and surrounding mountain ranges, environmentally friendly and sustainably built.  I had the feeling that I could get anything in print in this building.&lt;br /&gt;&lt;br /&gt;I'm sure once the rain starts tomorrow, I'll miss the 80 degree Indian Summer of Silicon Valley.  But for now I am thoroughly enjoying kicking around in Seattle, a cleaner, friendlier, more walkable version of the city to the south.&lt;br /&gt;&lt;br /&gt;Back tommorrow with real MVP Summit news!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-112793431788595411?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/112793431788595411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=112793431788595411' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112793431788595411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112793431788595411'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/09/2005-mvp-summit-day-1.html' title='2005 MVP Summit - Day 1'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-112719468999864252</id><published>2005-09-19T22:28:00.000-07:00</published><updated>2005-09-19T22:45:24.823-07:00</updated><title type='text'>Summer Is Officially Over</title><content type='html'>I am a big fan of summer.  Having grown up in the Mojave Desert and lived in really hot places like Turkey, I have a real soft spot for a blistering hot climate.  So even though I live in incredibly mild Northern California, I enjoy the last few warm days of September as if I'm living on borrowed time: any day now, it's going to start getting cold.  No more heading out with the kids on a moments notice with no one clad in more than shorts and Tevas.  It's going to be "Where is your coat?" and "You can't go out in this weather in that!!"&lt;br /&gt;&lt;br /&gt;But there is a sliver lining.  Every year, it seems, with the end of summer comes the onslaught of consulting gigs that every company seemed to have put on hold in order to enjoy the summer weather.  In other words, with the end of summer I find myself incfredibly busy again.&lt;br /&gt;&lt;br /&gt;I've just completed a GPS project for a very cool company in Menlo Park called &lt;a href="http://www.konaware.com" target="_blank"&gt;Konaware&lt;/a&gt; that is in the vehicle logistics business.  Plus I've hooked up with the infinitley patient and helpful guys at &lt;a href="http://www.imagotechnologies.com" target="_blank"&gt;Imago Technologies&lt;/a&gt; for a couple of very fun, classic web application projects.  And of course my HP relationship continues.  And I'm hopeful that I will win a contract to help drug and medical supply giant &lt;a href="http://www.cardinal.com" target="_blank"&gt;Cardinal Health&lt;/a&gt; roll out a wireless content delivery system for their Executive Briefing Program.  Also, I'm heading up to Microsoft for the 2005 MVP Summit along with about a thousand other people next week.  All of a sudden, I'm busy, busy, busy.&lt;br /&gt;&lt;br /&gt;It's almost as if I'm forced to slow way down in summer, like when as a kid you got a nice long summer vacation.  I spent lots of time in the moutains, camping, and swimming with my &lt;a href="http://demo.wappearances.com/photos/new/disney020.jpg" target="_blank"&gt;little guys&lt;/a&gt;.  Now that summer's over, it's back to school for them, and back to work for me!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-112719468999864252?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/112719468999864252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=112719468999864252' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112719468999864252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112719468999864252'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/09/summer-is-officially-over.html' title='Summer Is Officially Over'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-112299569599714064</id><published>2005-08-02T08:11:00.000-07:00</published><updated>2005-08-02T08:23:24.586-07:00</updated><title type='text'>Correction: Programatically Turning the Pocket PC WLAN Adapter On and Off</title><content type='html'>It turns out that &lt;a href="http://rburdick.blogspot.com/2005/05/programatically-turning-pocket-pc-wlan.html"&gt;this code&lt;/a&gt; posted on Thursday, May 12, 2005,  really only binds or unbinds the WiFi adapter.  It does not realiably turn off the radio on most devices.  Sorry for any inconveniences this may have caused.&lt;br /&gt;&lt;br /&gt;It turns out that programatically controlling the WiFi radio on PocketPC devices is a bit of a Holy Grail.  Each device manufacturer implements its own 802.11 miniport driver, and it's up to them how (and often whether) to implement the various 80211 IOCTLs.  In many cases, the power control IOCTLs are not implemented.  So using DeviceIoControl, or the power manager APIs in Windows CE, frequently do not work as expected.&lt;br /&gt;&lt;br /&gt;So now here's my question to our friends at Microsoft.  Given that power management is so crucial to Windows Mobile programming, and considering that WiFi is so prevalent today, why can't stricter requirements be imposed on the device manufacturers to support the power management functionality defined in the 802.11 specifications?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-112299569599714064?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/112299569599714064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=112299569599714064' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112299569599714064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112299569599714064'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/08/correction-programatically-turning.html' title='Correction: Programatically Turning the Pocket PC WLAN Adapter On and Off'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-112257407735430509</id><published>2005-07-28T11:02:00.000-07:00</published><updated>2005-07-28T11:07:57.360-07:00</updated><title type='text'>Reshoring: The Next Big Thing In IT</title><content type='html'>We've all heard of, and likely been affected by, offshoring of thousands of IT and software jobs.  Lots of new research points to the fact that a lot of us have suspected all along.  The offshoring trend was largely driven by accountants, not those responsible for planning and executing projects.  The result for many, according to the research, is that the cost savings reaped from offshoring have been minimal, and that offshoring has had a devastating effect on product quality and time to market.&lt;br /&gt;&lt;br /&gt;The next big thing in IT staffing will be &lt;strong&gt;reshoring&lt;/strong&gt;, the practice of bringing projects back home.  I've launched &lt;a href="http://www.reshoresolutions.com" target="_blank"&gt;Reshore Solutions&lt;/a&gt;, a consulting firm focusing on helping companies make up for lost time and fix buggy, low quality code that often results from offshoring.&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.ventoro.com/Offshore2005ResearchFindings.pdf" target="_blank"&gt;Ventoro's report&lt;/a&gt; for some of the data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-112257407735430509?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/112257407735430509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=112257407735430509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112257407735430509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112257407735430509'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/07/reshoring-next-big-thing-in-it.html' title='Reshoring: The Next Big Thing In IT'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-112222420477568252</id><published>2005-07-24T09:52:00.000-07:00</published><updated>2005-07-24T09:56:44.833-07:00</updated><title type='text'>Listing Suite Goes Live</title><content type='html'>Another role I play in my technical life is CTO of Professional Real Estate Products, a start up focusing on building software tools for marketing and selling residential and commercial real estate. Our online listing tools, Listing Suite, just went live.&lt;br /&gt;&lt;br /&gt;You can take a look at the product and sign up for a trial membership at &lt;a href="http://www.listingsuite.com" target="_blank"&gt;http://www.listingsuite.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-112222420477568252?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/112222420477568252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=112222420477568252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112222420477568252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/112222420477568252'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/07/listing-suite-goes-live.html' title='Listing Suite Goes Live'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-111654610921666269</id><published>2005-05-19T16:28:00.000-07:00</published><updated>2005-05-19T16:41:49.220-07:00</updated><title type='text'>Mobile Computing SIG Presentation Code Samples</title><content type='html'>First, let me thank all of you who attended last night's Mobile Computing SIG meeting last night at Microsoft in Mountain View.  I thoroughly enjoyed doing the Windows Mobile application demo showing how to build wireless connected applications with the Microsoft .NET Compact Framework.&lt;br /&gt;&lt;br /&gt;A number of you asked for the sample code I presented.  I am happy to provide it here as two zip files.&lt;br /&gt;&lt;br /&gt;The first file, &lt;a href="http://www.wappearances.com/code/sig/cddb.zip"&gt;cddb.zip&lt;/a&gt;, contains the Visual Studio .NET 2003 solution file as well as the Windows Mobile Pocket PC client source code.  The second file, &lt;a href="http://www.wappearances.com/code/sig/cddb_web.zip"&gt;cddb_web.zip&lt;/a&gt;, contains the source code for the web application that the client application talks to.  I packaged everything as two separate zip files because the web application code lives under the IIS inetpub\wwwroot directory, and the other files don't.&lt;br /&gt;&lt;br /&gt;To use this sample code, you need to be running ASP.NET and have a &lt;strong&gt;cddb&lt;/strong&gt; virtual directory under a directory called &lt;strong&gt;sig&lt;/strong&gt; in your IIS default web application.  Then extract the &lt;strong&gt;cddb_web.zip&lt;/strong&gt; files into that directory.  Or, you can create a new C# web application in Visual Studio .NET located at localhost/sig/cddb, let Visual Studio .NET create the virtual directory for you, and then copy the WebForm1.aspx, etc. files from the zip file over the ones created by Visual Studio .NET.&lt;br /&gt;&lt;br /&gt;You can extract the &lt;strong&gt;cddb.zip&lt;/strong&gt; contents pretty much anywhere you like.  If you use Visual Studio to create a new web application as described above, you won't need the .sln and .suo files included.  You will however in that casd need to add an existing project to the solution, the client.csproj client application.&lt;br /&gt;&lt;br /&gt;Feel free to email me or post to this entry if you have any questions or comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-111654610921666269?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/111654610921666269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=111654610921666269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111654610921666269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111654610921666269'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/05/mobile-computing-sig-presentation-code.html' title='Mobile Computing SIG Presentation Code Samples'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-111588206990398244</id><published>2005-05-12T00:09:00.000-07:00</published><updated>2005-05-12T08:21:41.613-07:00</updated><title type='text'>Programatically Turning the Pocket PC WLAN Adapter On and Off</title><content type='html'>Here is another frequently requested Pocket PC programming trick.  With the wide adoption of WiFi / 802.11x wireless for PDAs, Pocket PC developers very frequently want to programatically turn the wireless LAN adapter on their device on or off.  There are various reasons for this, not least of which is the desire to exercise greater control over the power consumption of the wireless radio.&lt;br /&gt;&lt;br /&gt;The trick to doing this is our friend the DeviceIoControl API.  Basically what you need to do is this:&lt;br /&gt;&lt;br /&gt;To power off the WLAN radio: Unbind the wireless adapter, then power it off.&lt;br /&gt;To power on the WLAN radio:  Power on the adapter, then bind it.&lt;br /&gt;&lt;br /&gt;Here is the code:&lt;br /&gt;&lt;br /&gt;// wlanutils.cpp : Defines the entry point for the DLL application.&lt;br /&gt;//&lt;br /&gt;&lt;br /&gt;#include &lt;windows.h&gt;&lt;br /&gt;#include &lt;pm.h&gt;&lt;br /&gt;#include &lt;iphlpapi.h&gt;&lt;br /&gt;#include &lt;ntddndis.h&gt;&lt;br /&gt;#include &lt;winioctl.h&gt;&lt;br /&gt;#include "wlanutils.h"&lt;br /&gt;&lt;br /&gt;///////////////////////////////////////////////////////&lt;br /&gt;//Global definitions&lt;br /&gt;&lt;br /&gt;//g_pszAdapterName --&gt; Used for the multisz null terminated adapter string name for the &lt;br /&gt;//      IOCTL_NDIS_BIND_ADAPTER and IOCTL_NDIS_UNBIND_ADAPTER ioctls&lt;br /&gt;//      By the time this variable is needed, it is in the proper format.&lt;br /&gt;TCHAR* g_pszAdapterName = NULL;&lt;br /&gt;DWORD g_dwAdapterNameLen = 0;&lt;br /&gt;//g_pszDriverName --&gt; Contains the name of the active WLAN driver.&lt;br /&gt;//This value corresponds to the SanDisk SDIO WiFi card.&lt;br /&gt;//The driver name for your device may be different.  Look in&lt;br /&gt;//the device registry under HKLM\Drivers for yours.&lt;br /&gt;TCHAR g_pszDriverName[] = TEXT("SDN1:");&lt;br /&gt;&lt;br /&gt;//////////////////////////////////////////////////////////&lt;br /&gt;//Public exported functions&lt;br /&gt;BOOL APIENTRY DllMain( HANDLE hModule, &lt;br /&gt;                       DWORD  ul_reason_for_call, &lt;br /&gt;                       LPVOID lpReserved&lt;br /&gt;      )&lt;br /&gt;{&lt;br /&gt;    return TRUE;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int GetRadioState()&lt;br /&gt;{&lt;br /&gt; HANDLE hDriver = NULL;&lt;br /&gt; DWORD dwBytesOut = 0;&lt;br /&gt; CEDEVICE_POWER_STATE ps;&lt;br /&gt; int nPowerState = GET_POWER_STATE_ERROR;&lt;br /&gt;&lt;br /&gt; hDriver = ::CreateFile(g_pszDriverName, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, 0, NULL);&lt;br /&gt; if (INVALID_HANDLE_VALUE != hDriver)&lt;br /&gt; {&lt;br /&gt;  BOOL bRes = ::DeviceIoControl(hDriver, IOCTL_POWER_GET, NULL, 0, &amp;ps, sizeof(ps), &amp;dwBytesOut, NULL);&lt;br /&gt;  if (bRes) {&lt;br /&gt;   nPowerState = ((ps == D4)?GET_POWER_STATE_OFF:GET_POWER_STATE_ON);  //Note: This treats all states but off as on, i.e, stanby is considered on&lt;br /&gt;  }&lt;br /&gt;  ::CloseHandle(hDriver);&lt;br /&gt; }&lt;br /&gt; return (nPowerState);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//bPowerState paramter is TRUE to turn radio on, FALSE to turn off&lt;br /&gt;BOOL PowerRadio(BOOL bPowerState)&lt;br /&gt;{&lt;br /&gt; HANDLE hNdis = NULL;&lt;br /&gt; HANDLE hDriver = NULL;&lt;br /&gt; BOOL bRes = FALSE;&lt;br /&gt; DWORD dwBytesOut = 0;&lt;br /&gt; DWORD dwError = 0;&lt;br /&gt; CEDEVICE_POWER_STATE ps;&lt;br /&gt;&lt;br /&gt; GetAdapterName();&lt;br /&gt;&lt;br /&gt; ps = (bPowerState?D0:D4);&lt;br /&gt;&lt;br /&gt; if (!bPowerState)&lt;br /&gt; { //Power off the radio&lt;br /&gt;  hNdis = ::CreateFile(DD_NDIS_DEVICE_NAME, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, 0, NULL);&lt;br /&gt;  if (INVALID_HANDLE_VALUE != hNdis)&lt;br /&gt;  {&lt;br /&gt;   bRes = ::DeviceIoControl(hNdis, IOCTL_NDIS_UNBIND_ADAPTER, g_pszAdapterName, g_dwAdapterNameLen, NULL, 0, &amp;dwBytesOut, NULL);&lt;br /&gt;   if (bRes)&lt;br /&gt;   {&lt;br /&gt;    hDriver = ::CreateFile(g_pszDriverName, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, 0, NULL);&lt;br /&gt;    if (INVALID_HANDLE_VALUE != hDriver)&lt;br /&gt;    {&lt;br /&gt;     bRes = ::DeviceIoControl(hDriver, IOCTL_POWER_SET, NULL, 0, &amp;ps, sizeof(ps), &amp;dwBytesOut, NULL);&lt;br /&gt;    }&lt;br /&gt;    else bRes = FALSE;&lt;br /&gt;    ::CloseHandle(hDriver);&lt;br /&gt;&lt;br /&gt;   }&lt;br /&gt;   ::CloseHandle(hNdis);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; { //Power on the radio&lt;br /&gt;  hDriver = ::CreateFile(g_pszDriverName, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, 0, NULL);&lt;br /&gt;  if (INVALID_HANDLE_VALUE != hDriver)&lt;br /&gt;  {&lt;br /&gt;   bRes = ::DeviceIoControl(hDriver, IOCTL_POWER_SET, NULL, 0, &amp;ps, sizeof(ps), &amp;dwBytesOut, NULL);&lt;br /&gt;   if (bRes)&lt;br /&gt;   {&lt;br /&gt;    hNdis = ::CreateFile(DD_NDIS_DEVICE_NAME, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, 0, NULL);&lt;br /&gt;    if (INVALID_HANDLE_VALUE != hNdis)&lt;br /&gt;    {&lt;br /&gt;     bRes = ::DeviceIoControl(hNdis, IOCTL_NDIS_BIND_ADAPTER, g_pszAdapterName, g_dwAdapterNameLen, NULL, 0, &amp;dwBytesOut, NULL);&lt;br /&gt;     ::CloseHandle(hNdis);&lt;br /&gt;    }&lt;br /&gt;    else bRes = FALSE;&lt;br /&gt;   }&lt;br /&gt;   ::CloseHandle(hDriver);&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; return (bRes);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;///////////////////////////////////////////&lt;br /&gt;//Internal functions&lt;br /&gt;void GetAdapterName()&lt;br /&gt;{&lt;br /&gt; DWORD dwError = 0;&lt;br /&gt; DWORD dwSize  = 0;&lt;br /&gt; ::GetAdaptersInfo(NULL, &amp;dwSize);&lt;br /&gt; IP_ADAPTER_INFO* pInfo = (IP_ADAPTER_INFO*)new char[dwSize];&lt;br /&gt; TCHAR pszAdapterName[MAX_ADAPTER_NAME_LENGTH+4];&lt;br /&gt;&lt;br /&gt; if ((dwError = ::GetAdaptersInfo(pInfo, &amp;dwSize)) == NO_ERROR)&lt;br /&gt; {&lt;br /&gt;  IP_ADAPTER_INFO* pCurrentAdapter = pInfo;&lt;br /&gt;  while (pCurrentAdapter)&lt;br /&gt;  {&lt;br /&gt;   if (pCurrentAdapter-&gt;Type == MIB_IF_TYPE_ETHERNET)&lt;br /&gt;   {&lt;br /&gt;    MultiByteToWideChar( CP_ACP, 0,    pCurrentAdapter-&gt;AdapterName, -1, pszAdapterName, sizeof(pszAdapterName) / sizeof(pszAdapterName[0]));&lt;br /&gt;    //We assume there is only one ethernet adapter per device&lt;br /&gt;    break;&lt;br /&gt;   }&lt;br /&gt;   pCurrentAdapter = pCurrentAdapter-&gt;Next;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; //Add the terminating zeros required by the IOCTL_NDIS_BIND_ADAPTER and IOCTL_NDIS_UNBIND_ADAPTER ioctls&lt;br /&gt; DWORD dwLen = _tcslen(pszAdapterName)*sizeof(TCHAR);&lt;br /&gt; g_dwAdapterNameLen = (_tcslen(pszAdapterName)+3)*sizeof(TCHAR);&lt;br /&gt; //Free previous use of the adapter name string&lt;br /&gt; if (g_pszAdapterName != NULL) {&lt;br /&gt;  ::LocalFree(g_pszAdapterName);&lt;br /&gt;  g_pszAdapterName = NULL;&lt;br /&gt; }&lt;br /&gt; g_pszAdapterName = (TCHAR*)::LocalAlloc(LPTR, g_dwAdapterNameLen);&lt;br /&gt; memmove(g_pszAdapterName, pszAdapterName, dwLen);&lt;br /&gt; delete [] pInfo;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-111588206990398244?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/111588206990398244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=111588206990398244' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111588206990398244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111588206990398244'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/05/programatically-turning-pocket-pc-wlan.html' title='Programatically Turning the Pocket PC WLAN Adapter On and Off'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-111500717052035779</id><published>2005-05-01T21:08:00.000-07:00</published><updated>2005-05-01T21:14:23.256-07:00</updated><title type='text'>Kiosk Style, Single Application Pocket PC Code</title><content type='html'>A number of people have asked lately how to "lock down" a Pocket PC so that it appears to the user as a single purpose, single application device.  This behavior is sometimes called kiosk mode.  Without being able to completely rewrite the device ROM and build a custom shell, it is still possible to program a commercial Pocket PC device so that it exhibits this behavior.&lt;br /&gt;&lt;br /&gt;The basic idea is to store the original location / dimensions of the task bar / start menu (represented by the HHTaskBar window class) and the SIP in the RECT members m_rcTaskBar and m_rcSIP.  Then move these windows off screen.  The original dimensions are stored so that the windows can be restored if needed.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;            //Hide the task bar and SIP&lt;br /&gt;&lt;br /&gt;            m_hWndSIP = ::FindWindow(TEXT("MS_SIPBUTTON"), TEXT("MS_SIPBUTTON"));&lt;br /&gt;&lt;br /&gt;            m_hWndTaskBar = ::FindWindow(TEXT("HHTaskBar"), NULL);&lt;br /&gt;&lt;br /&gt;            if (::IsWindow(m_hWndTaskBar)){&lt;br /&gt;&lt;br /&gt;                        RECT rcMain;&lt;br /&gt;&lt;br /&gt;                        ::GetClientRect(m_hWndTaskBar, &amp;m_rcTaskBar);&lt;br /&gt;&lt;br /&gt;                        ::GetClientRect(m_hWnd, &amp;rcMain);&lt;br /&gt;&lt;br /&gt;                        ::MoveWindow(m_hWndTaskBar, 0, -100, (m_rcTaskBar.right-m_rcTaskBar.left),(m_rcTaskBar.bottom-m_rcTaskBar.top), TRUE);&lt;br /&gt;&lt;br /&gt;                        ::MoveWindow(m_hWnd, 0, 0, (rcMain.right-rcMain.left), (rcMain.bottom-rcMain.top), TRUE);&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            if (::IsWindow(m_hWndSIP)){&lt;br /&gt;&lt;br /&gt;                        ::GetClientRect(m_hWndSIP, &amp;m_rcSIP);&lt;br /&gt;&lt;br /&gt;                        ::MoveWindow(m_hWndSIP, 0, -100, (m_rcSIP.right-m_rcSIP.left),(m_rcSIP.bottom-m_rcSIP.top), TRUE);&lt;br /&gt;&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;Finally, in the .inf file used to build the CAB file installer for your application, add a shortcut to the application in the startup folder. To wit, in the inf file for building your cab: &lt;br /&gt;&lt;br /&gt;[DefaultInstall] &lt;br /&gt;... &lt;br /&gt;CEShortcuts = SC.MyKiosk &lt;br /&gt;... &lt;br /&gt;&lt;br /&gt;[DestinationDirs] &lt;br /&gt;SC.MyKiosk = 0, %CE4% &lt;br /&gt;... &lt;br /&gt;&lt;br /&gt;[SC.MyKiosk] &lt;br /&gt;"MyKiosk",0,"MyKiosk.exe",%CE4%&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-111500717052035779?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/111500717052035779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=111500717052035779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111500717052035779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111500717052035779'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/05/kiosk-style-single-application-pocket.html' title='Kiosk Style, Single Application Pocket PC Code'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-111492709359203688</id><published>2005-04-30T22:56:00.000-07:00</published><updated>2005-04-30T23:09:44.920-07:00</updated><title type='text'>Blacklisted by The Residents</title><content type='html'>Well, actually, by their mail order house &lt;a href="http://www.ralphamerica.com" target="_blank"&gt;RalphAmerica&lt;/a&gt; (also known as Astropitch.)  And all for complaining about never receiving the copy of the latest Residents release, &lt;strong&gt;Animal Lover&lt;/strong&gt;, that I ordered nearly six weeks ago.&lt;br /&gt;&lt;br /&gt;It reminds me of the days back in the 70's when to order a Residents recording meant sending in a mail order form indicating the items you wanted.  Then you generally ended up calling Ralph Records at least once, and talking directly to one of the Residents (usually the former band member John Kennedy who handled all the mail order) to ask where the heck your stuff was.  But at least the Residents were cordial.&lt;br /&gt;&lt;br /&gt;This time around, I asked for a refund, to which RalphAmerica's Dren McDonald complied, then gave me the finger and said my money was no longer welcome.  Gee whiz, and to think I was supporting the Residents back when they had little or no following.  If &lt;strong&gt;Animal Lover&lt;/strong&gt; didn't totally suck, I might just be offended!&lt;br /&gt;&lt;br /&gt;But a little retaliation is in order.  Thus, I offer to any interested party CD-R copies of two of the legendary unreleased Residents recordings from 1970-1971, &lt;strong&gt;The Warner Brothers Album&lt;/strong&gt; and &lt;strong&gt;Baby Sex&lt;/strong&gt;.  The Residents have, I think, been waiting decades to release these old tapes.  The problem is, they will utimately no doubt be released as an extremely overpriced special or limited edition offering, sold, yes, on RalphAmerica.  RalphAmerica will get an obscenely disproportionate cut of the price, leaving the Residents themselves to scramble for any left over crumbs.&lt;br /&gt;&lt;br /&gt;So let's beat Dren and his crew to the punch.  Simply reply to this post, write a few sentences about why you are a deserving Residents fan, and I'll get the CDs on their way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-111492709359203688?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/111492709359203688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=111492709359203688' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111492709359203688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111492709359203688'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/04/blacklisted-by-residents.html' title='Blacklisted by The Residents'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117229.post-111156322402880247</id><published>2005-03-22T23:31:00.000-08:00</published><updated>2005-03-22T23:38:02.803-08:00</updated><title type='text'>How I Beat One of The Residents at His Own Game</title><content type='html'>&lt;b&gt;Jay Clem:&lt;/b&gt; What’s truly amazing about all of this Sid is that some guy who’s been a fan for 25 years beat The Residents’ own Stu Sucliffe at his own game.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sid Powell (of RAO Studios, Houston):&lt;/b&gt; That may indeed be a wonderment, Mr. Clem. But what I really want to know is who really cares who’s hands this infantile garbage ends up in?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Jay Clem:&lt;/b&gt; Well, Sid, it may not much matter to a crusty old fart like you, but there are in fact hundreds of die hard fans out there who would pay top dollar to get their hands on these recordings. Why, the very essence of the Residents legend rests on the mystery surrounding these works.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sid Powell (of RAO Studios, Houston):&lt;/b&gt; Well, then, Mr. Clem, if these artistic endeavors are indeed so important to your charges, The Residents, then why is it that a fan unbeknownst to them has managed to execute a classic switch and offer up to one of their former number that which is so devoutly regarded as sacred and kept out of reach of their fans?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Jay Clem:&lt;/b&gt; It just goes to show that the Residents’ fans are in fact a force to be reckoned with, and that even the Residents themselves hold them in such high esteem specifically because of their power to unveil The Residents deepest secrets. Which is why Mr. Sirois of the Frozen North has agreed to do no less than urge his erstwhile bandmates to invite the good Mr. Burdick to participate in some meaningful way in the soon to be announced tour of the Animal Lover CD to be released imminently.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Sid Powell (of RAO Studios, Houston):&lt;/b&gt; And perhaps even to take the place of that abominably bad singer once he decided it’s finally time to hang up his skull and get a real job?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Jay Clem:&lt;/b&gt; Well, Sid, I didn’t say yes, but I most certainly didn’t say no…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-111156322402880247?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/111156322402880247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=111156322402880247' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111156322402880247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111156322402880247'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/03/how-i-beat-one-of-residents-at-his-own.html' title='How I Beat One of The Residents at His Own Game'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-111052464386829765</id><published>2005-03-10T23:00:00.000-08:00</published><updated>2005-03-10T23:04:03.870-08:00</updated><title type='text'>Embedded Systems Conference Attendees - Thank You!!</title><content type='html'>Just a quick post to say thank you to all of you who attended my presentation "Building Internet Applications with Microsoft's .NET Compact Framework" today at the Embedded Systems Conference in San Francisco.  It is always a pleasure to speak with an enthusiastic, interested audience with great questions and comments.  I hope the presentation was as useful and informative for you to attend as it was enjoyable for me to give.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-111052464386829765?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/111052464386829765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=111052464386829765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111052464386829765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111052464386829765'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/03/embedded-systems-conference-attendees.html' title='Embedded Systems Conference Attendees - Thank You!!'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-111042894098534743</id><published>2005-03-09T20:17:00.000-08:00</published><updated>2005-03-09T20:30:02.440-08:00</updated><title type='text'>Residential Musings on My Big Four Oh...</title><content type='html'>Eyeballs on T-Shirts, coffee mugs, beer steins... Pretty much anything I own has got a bizarre eyeball with a top hat icon on it.  What is up with this?&lt;br /&gt;&lt;br /&gt;On this, my big 40, I figured it was high time take a break from the code related stuff and talk a little about one of my longest favorite groups.  Not that they have always been "the" favorite, but they have certainly been "a" favorite for as many birthdays as I care to remember.&lt;br /&gt;&lt;br /&gt;The Residents are the world's most famous unknown, anonymous band.  4 or 5 guys or gals teamed up in the late 60's to set the musical world on its proverbial ear.  With no talent or musical ability to speak of, these crazies started making odd cacophonous sounds and demo tapes primarily to suite their own interest in recording.  For the better part of 5 years, none of the material they produced was released to the public.  To this day, 33 years later, most of this early material has never been officially released.  The Residents themselves claim this is because the material was awful.  This hasn't stopped digging around, and some true die hards (myself included) have managed to come up with two of the four tapes / albumns allegedly recorded but never released.  More information about thes e prehistoric recordings can be found at the excellent Residents informational website at &lt;a href="http://www.rzweb.net/prehistory.html" target="_blank"&gt;this location.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some say that turning 40 is supposed to be depressing.  But after being a Residents fan for nearly 25 years, today, the day I turned the big 40, I finally landed a copy of the fourth and final unrelease tapes.  What a gift!!  More later...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-111042894098534743?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/111042894098534743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=111042894098534743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111042894098534743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111042894098534743'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/03/residential-musings-on-my-big-four-oh.html' title='Residential Musings on My Big Four Oh...'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-111012445826388657</id><published>2005-03-06T07:50:00.000-08:00</published><updated>2005-03-06T08:03:08.920-08:00</updated><title type='text'>Embedded Systems Conference Code Samples</title><content type='html'>Here are the code samples associated with my presentation "Building Internet Applications with Microsoft's .NET Compact Framework" given on March 10, 2005 in San Francisco.&lt;br /&gt;&lt;br /&gt;These samples are posted without warranty of any kind.  They were configured to run on the demo laptop I used during the presentation, so some tweaking of URLs etc. might be required to get them to run in your environment.  In short, these samples are posted here more as walk through examples, as they were used at the conference, than as complete production code samples.  Also, two of the samples, the managed code &lt;strong&gt;database&lt;/strong&gt; example and the managed &lt;strong&gt;servicesclient&lt;/strong&gt; sample depend on server-side ASP.NET applications to serve content.  The code and configuration information for the web components of these applications are available upon request.  Just post a comment to this entry and we can get in touch.&lt;br /&gt;&lt;br /&gt;With these caveats in mind, there are two zip files availabile.  The first contains all of the native code samples presented:&lt;br /&gt;&lt;a href="http://demo.wappearances.com/esc/native.zip"&gt;Native Code Samples&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The second contains the mananaged code samples:&lt;br /&gt;&lt;a href="http://demo.wappearances.com/esc/managed.zip"&gt;Managed Code Samples&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-111012445826388657?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/111012445826388657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=111012445826388657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111012445826388657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/111012445826388657'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/03/embedded-systems-conference-code.html' title='Embedded Systems Conference Code Samples'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-110971380907511484</id><published>2005-03-01T13:37:00.000-08:00</published><updated>2005-03-01T13:56:01.226-08:00</updated><title type='text'>Programatically Powering PocketPC Screen On and Off</title><content type='html'>Another common request is how to power the Pocket PC screen on or of programatically. The solution to this problem is the ExtEscape API, with the SETPOWERMANAGEMENT flag set. Note that implementing support for this particular ExtEscape capability is OEM dependent. Therefore, it may not work on all devices. This is why we call ExtEscape with QUERYESCSUPPORT at the beginning of the PowerScreen function call.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#define QUERYESCSUPPORT 8&lt;br /&gt;&lt;br /&gt;//The following are unique to Windows CE&lt;br /&gt;#define GETVFRAMEPHYSICAL 6144&lt;br /&gt;#define GETVFRAMELEN 6145&lt;br /&gt;#define DBGDRIVERSTAT 6146&lt;br /&gt;#define SETPOWERMANAGEMENT 6147&lt;br /&gt;#define GETPOWERMANAGEMENT 6148&lt;br /&gt;&lt;br /&gt;typedef enum _VIDEO_POWER_STATE {&lt;br /&gt;VideoPowerOn = 1,&lt;br /&gt;VideoPowerStandBy,&lt;br /&gt;VideoPowerSuspend,&lt;br /&gt;VideoPowerOff&lt;br /&gt;&lt;br /&gt;} VIDEO_POWER_STATE, *PVIDEO_POWER_STATE;&lt;br /&gt;&lt;br /&gt;typedef struct _VIDEO_POWER_MANAGEMENT {&lt;br /&gt;ULONG Length;&lt;br /&gt;ULONG DPMSVersion;&lt;br /&gt;ULONG PowerState;&lt;br /&gt;} VIDEO_POWER_MANAGEMENT, *PVIDEO_POWER_MANAGEMENT;&lt;br /&gt;&lt;br /&gt;void PowerScreen(BOOL bPowerOn)&lt;br /&gt;{&lt;br /&gt;VIDEO_POWER_MANAGEMENT vpm, vpmQuery;&lt;br /&gt;BOOL bCurrentState = FALSE;&lt;br /&gt;&lt;br /&gt;int iESC = SETPOWERMANAGEMENT;&lt;br /&gt;if (ExtEscape(g_hdc, QUERYESCSUPPORT,&lt;br /&gt;&lt;/code&gt;&lt;code&gt;sizeof(int), (LPCSTR)&amp;iESC,&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;0, NULL)==0)&lt;br /&gt;return;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;//Prevent the screen manager from&lt;/code&gt;&lt;br /&gt;&lt;code&gt;//attempting to turn the screen on if it's&lt;br /&gt;//already on, and from turning the&lt;/code&gt;&lt;br /&gt;&lt;code&gt;//screen off if it's already off.&lt;br /&gt;&lt;br /&gt;//This is a problem on some platforms,&lt;/code&gt;&lt;br /&gt;&lt;code&gt;//such as the iPAQ H3800 PocketPC 2002 platform.&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;memset(&amp;vpm, 0, sizeof(vpm));&lt;br /&gt;vpm.Length = sizeof(vpm);&lt;br /&gt;vpm.DPMSVersion = 0x0001;&lt;br /&gt;&lt;br /&gt;memset(&amp;vpmQuery, 0, sizeof(vpmQuery));&lt;br /&gt;vpmQuery.Length = sizeof(vpmQuery);&lt;br /&gt;vpmQuery.DPMSVersion = 0x0001;&lt;br /&gt;&lt;br /&gt;//Query the current screen power status&lt;br /&gt;&lt;br /&gt;::ExtEscape(g_hdc, GETPOWERMANAGEMENT,&lt;br /&gt;&lt;/code&gt;&lt;code&gt;vpm.Length, (LPCSTR)&amp;vpm,&lt;/code&gt;&lt;br /&gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;vpmQuery.Length, (LPSTR)&amp;amp;vpmQuery);&lt;br /&gt;&lt;br /&gt;bCurrentState =&lt;/code&gt;&lt;br /&gt;&lt;code&gt;((vpmQuery.PowerState &gt; VideoPowerOn) ? FALSE : TRUE);&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;if (bPowerOn == bCurrentState)&lt;br /&gt;return;&lt;br /&gt;&lt;br /&gt;memset(&amp;vpm, 0, sizeof(vpm));&lt;br /&gt;vpm.Length = sizeof(vpm);&lt;br /&gt;vpm.DPMSVersion = 0x0001;&lt;br /&gt;vpm.PowerState = (bPowerOn ? VideoPowerOn : VideoPowerOff);&lt;br /&gt;&lt;br /&gt;::ExtEscape(g_hdc, SETPOWERMANAGEMENT,&lt;br /&gt;&lt;/code&gt;&lt;code&gt;vpm.Length, (LPCSTR)&amp;vpm, 0, NULL);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-110971380907511484?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/110971380907511484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=110971380907511484' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110971380907511484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110971380907511484'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/03/programatically-powering-pocketpc.html' title='Programatically Powering PocketPC Screen On and Off'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-110971249710728005</id><published>2005-03-01T13:25:00.000-08:00</published><updated>2005-03-01T13:30:23.123-08:00</updated><title type='text'>wAppearances Code Sample Archive</title><content type='html'>Now that I'm blog compliant, I should post the link to all of my previous code samples here.  So instead of having to grovel around both here and in the wAppearances web site, you can use my blog as a one stop shop for all Windows CE code samples, tips, and tricks I make available.&lt;br /&gt;&lt;br /&gt;Here is the link to my old code sample archive:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.wAppearances.com/downloads.htm" target="_blank"&gt;Code Sample Archive&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-110971249710728005?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/110971249710728005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=110971249710728005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110971249710728005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110971249710728005'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/03/wappearances-code-sample-archive.html' title='wAppearances Code Sample Archive'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-110971168714567114</id><published>2005-03-01T13:08:00.000-08:00</published><updated>2005-03-01T13:23:06.276-08:00</updated><title type='text'>Determining 802.11 Signal Strength for Pocket PC</title><content type='html'>A very common request from Pocket PC developers is the ability to query the signal strength of an 802.11 wireless network signal being received by a WiFi enabled Pocket PC device.  Here is some code that accomplishes this task for you.&lt;br /&gt;&lt;br /&gt;This code basically queries the RSSI (Received Signal Strength Indicator) via the NDIS protocol.  In your application, you call the GetFirstRFEthernetSignalStrength function to kick this all off as follows:&lt;br /&gt;&lt;br /&gt;int nStrength = 0;&lt;br /&gt;int nQuality  = 0;&lt;br /&gt;GetFirstRFEthernetSignalStrength(&amp;nStrength, &amp;nQuality);&lt;br /&gt;&lt;br /&gt;The nStrength valule returned can then be used by your application to update a signal strength indcator such as a track bar or other UI element.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#include &amp;lt;ntddndis.h&amp;gt;&lt;br /&gt;#include &amp;lt;nuiouser.h&amp;gt;&lt;br /&gt;#include &amp;lt;winioctl.h&amp;gt;&lt;br /&gt;#include &amp;lt;iphlpapi.h&amp;gt;&lt;br /&gt;&lt;br /&gt;HRESULT GetSignalStrength(&lt;br /&gt; TCHAR *ptcDeviceName,&lt;br /&gt; int* piSignalStrength,&lt;br /&gt; int* piSignalQuality&lt;br /&gt; )&lt;br /&gt;{&lt;br /&gt; PNDISUIO_QUERY_OID queryOID;&lt;br /&gt; DWORD  dwBytesReturned = 0;&lt;br /&gt; UCHAR  QueryBuffer[sizeof(NDISUIO_QUERY_OID)&lt;br /&gt;     +sizeof(DWORD)];&lt;br /&gt; HANDLE  ndisAccess = INVALID_HANDLE_VALUE;&lt;br /&gt; BOOL  retval;&lt;br /&gt; HRESULT  hr;&lt;br /&gt;&lt;br /&gt; // Attach to NDISUIO.&lt;br /&gt; ndisAccess = CreateFile( NDISUIO_DEVICE_NAME,&lt;br /&gt;    0, 0, NULL, OPEN_EXISTING,&lt;br /&gt;  FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,&lt;br /&gt;    INVALID_HANDLE_VALUE );&lt;br /&gt; if ( ndisAccess == INVALID_HANDLE_VALUE )&lt;br /&gt;  return E_FAIL; // ????&lt;br /&gt;&lt;br /&gt; // Get Signal strength&lt;br /&gt; queryOID = (PNDISUIO_QUERY_OID)&amp;QueryBuffer[0];&lt;br /&gt; queryOID-&gt;ptcDeviceName = ptcDeviceName;&lt;br /&gt; queryOID-&gt;Oid = OID_802_11_RSSI;&lt;br /&gt;&lt;br /&gt; retval = DeviceIoControl( ndisAccess,&lt;br /&gt;  IOCTL_NDISUIO_QUERY_OID_VALUE,&lt;br /&gt;  (LPVOID) queryOID,&lt;br /&gt;  sizeof(NDISUIO_QUERY_OID) + sizeof(DWORD),&lt;br /&gt;  (LPVOID) queryOID,&lt;br /&gt;  sizeof(NDISUIO_QUERY_OID) + sizeof(DWORD),&lt;br /&gt;  &amp;dwBytesReturned,&lt;br /&gt;  NULL);&lt;br /&gt; if( retval &amp;&amp; piSignalStrength &amp;&amp; piSignalQuality )&lt;br /&gt; {&lt;br /&gt;  hr = S_OK;&lt;br /&gt;  *piSignalStrength = *(DWORD *)&amp;queryOID-&gt;Data;&lt;br /&gt;&lt;br /&gt;  //Here's Microsoft's interpretation&lt;br /&gt;  //of the return value&lt;br /&gt;  if(*piSignalStrength &lt; -90)&lt;br /&gt;   *piSignalQuality = 0; // No signal&lt;br /&gt;  else if(*piSignalStrength &lt; -81)&lt;br /&gt;   *piSignalQuality  = 1; // Very low&lt;br /&gt;  else if(*piSignalStrength &lt; -71)&lt;br /&gt;   *piSignalQuality  = 2; // Low&lt;br /&gt;  else if(*piSignalStrength &lt; -67)&lt;br /&gt;   *piSignalQuality  = 3; // Good&lt;br /&gt;  else if(*piSignalStrength &lt; -57)&lt;br /&gt;   *piSignalQuality  = 4; // Very good&lt;br /&gt;  else&lt;br /&gt;   *piSignalQuality  = 5; // Excellent&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt; {&lt;br /&gt;  hr = E_FAIL;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; CloseHandle( ndisAccess );&lt;br /&gt;&lt;br /&gt; return hr;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;BOOL GetFirstRFEthernetSignalStrength(&lt;br /&gt; int* pSignalStrength,&lt;br /&gt; int* pSignalQuality&lt;br /&gt; )&lt;br /&gt;{&lt;br /&gt; BOOL retval = FALSE;&lt;br /&gt;&lt;br /&gt; // Get the size of the adapters list.&lt;br /&gt; DWORD size = 0;&lt;br /&gt;&lt;br /&gt; GetAdaptersInfo( NULL, &amp;size );&lt;br /&gt;&lt;br /&gt; // Allocate space for the list.&lt;br /&gt; IP_ADAPTER_INFO *info =&lt;br /&gt;    (IP_ADAPTER_INFO*)new char[ size ];&lt;br /&gt;&lt;br /&gt; DWORD err;&lt;br /&gt; if ((err = GetAdaptersInfo(info, &amp;size ))&lt;br /&gt;    == NO_ERROR )&lt;br /&gt; {&lt;br /&gt;  IP_ADAPTER_INFO *cinfo = info;&lt;br /&gt;  while ( cinfo )&lt;br /&gt;  {&lt;br /&gt;   // Check the interface media type for&lt;br /&gt;   // Ethernet, which both&lt;br /&gt;   // standard Ethernet and RF Ethernet will return.&lt;br /&gt;   if ( cinfo-&gt;Type == MIB_IF_TYPE_ETHERNET )&lt;br /&gt;   {&lt;br /&gt;    TCHAR wName[ MAX_ADAPTER_NAME_LENGTH + 4 ];&lt;br /&gt;    MultiByteToWideChar( CP_ACP, 0,&lt;br /&gt;    cinfo-&gt;AdapterName, -1,&lt;br /&gt;     wName,&lt;br /&gt;     sizeof( wName ) / sizeof( wName[ 0 ] ) );&lt;br /&gt;&lt;br /&gt;    // Try to get the signal strength.&lt;br /&gt;    //If it works, we&lt;br /&gt;    // return the information.&lt;br /&gt;    //If not, we move on.&lt;br /&gt;    if ( GetSignalStrength( wName,&lt;br /&gt;     pSignalStrength, pSignalQuality ) == S_OK )&lt;br /&gt;    {&lt;br /&gt;     retval = TRUE;&lt;br /&gt;     break;&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   // Go to the next adapter in the list.&lt;br /&gt;   cinfo = cinfo-&gt;Next;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; // Don't forget to delete the allocation.&lt;br /&gt; delete [] info;&lt;br /&gt;&lt;br /&gt; return retval;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-110971168714567114?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/110971168714567114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=110971168714567114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110971168714567114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110971168714567114'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/03/determining-80211-signal-strength-for.html' title='Determining 802.11 Signal Strength for Pocket PC'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-110969561668613268</id><published>2005-03-01T08:43:00.000-08:00</published><updated>2005-03-03T22:14:12.153-08:00</updated><title type='text'>Embedded Systems Conference Slides and Proceedings Paper</title><content type='html'>I will be presenting at the Embedded Systems Conference in San Francisco Thursday March 10 at 2:00 PM. The title of my presentation is "Building Internet Applications with Microsoft's .NET Compact Framework".&lt;br /&gt;&lt;br /&gt;If you are interested in the PowerPoint slides that go with this presentation, feel free to download them by clicking this link:&lt;br /&gt;&lt;a href="http://mim.wappearances.com/esc/slides.ppt" target="_blank"&gt;ESC Slides&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Also, the paper to be published in the conference proceedings for the conference can be found here:&lt;br /&gt;&lt;a href="http://mim.wappearances.com/esc/ETP-448.pdf" target="_blank"&gt;Proceedings Paper&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The code samples that I will be presenting at this session will follow shortly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-110969561668613268?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/110969561668613268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=110969561668613268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110969561668613268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110969561668613268'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/03/embedded-systems-conference-slides-and.html' title='Embedded Systems Conference Slides and Proceedings Paper'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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-9117229.post-110939111663003029</id><published>2005-02-25T20:08:00.000-08:00</published><updated>2005-02-25T20:11:56.630-08:00</updated><title type='text'>Welcome To My Blog</title><content type='html'>So I've finally set up my own blog.  It only took me about two years to get with the program.&lt;br /&gt;&lt;br /&gt;Im plan on using this blog to provide information about Windows CE, PocketPC, and other programming topics that I have experience with.  In addition, it will no doubt turn into my personal soap box forum for any number of topics.  Stay tuned...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117229-110939111663003029?l=rburdick.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://rburdick.blogspot.com/feeds/110939111663003029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9117229&amp;postID=110939111663003029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110939111663003029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117229/posts/default/110939111663003029'/><link rel='alternate' type='text/html' href='http://rburdick.blogspot.com/2005/02/welcome-to-my-blog.html' title='Welcome To My Blog'/><author><name>Admin</name><uri>http://www.blogger.com/profile/06696611706681264544</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>
