<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;CU4DR304fCp7ImA9WhZQFEw.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119</id><updated>2011-04-21T12:26:16.334-07:00</updated><category term="Windows Mobile" /><category term="Twitter" /><category term="blogroll" /><category term="reviews" /><category term="funny" /><category term="gadgets" /><category term="customer service" /><category term="honda civic hybrid" /><category term="mobile apps" /><category term="rants" /><category term="Global Warming" /><category term="living green" /><category term="Blackjack" /><category term="WM6" /><category term="ASP.NET MVC" /><category term="misc" /><category term="TinyTwitter" /><category term="hypermiling" /><category term="Qik" /><category term="deals" /><category term="Live Mesh" /><category term="Zune" /><category term="CMS" /><category term="DDD" /><category term="Blackjack II" /><category term="WPF" /><category term="Silverlight" /><category term="WM6.1" /><title>Joe Future</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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>94</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/joefuture" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="joefuture" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEUNRno5fip7ImA9WxJSFU4.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-216423501154443847</id><published>2009-05-05T07:04:00.001-07:00</published><updated>2009-05-05T07:04:57.426-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-05T07:04:57.426-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="customer service" /><category scheme="http://www.blogger.com/atom/ns#" term="rants" /><title>Rant – It’s the little charges that show a company’s true character</title><content type="html">&lt;p&gt;I use a certain well known VOIP service that starts with a V and ends with AGE.&amp;#160; You know who you are.&amp;#160; Apparently, they’re more than willing to let you move up to a more expensive plan at any time.&amp;#160; In my case, I temporarily moved to a plan that included unlimited worldwide calling.&amp;#160; The plan was active immediately and there was no charge to change plans.&lt;/p&gt;  &lt;p&gt;When I moved back down to the normal domestic-only plan, however, I was told the plan wouldn’t take effect until the start of my next billing cycle (hehe.. I accidentally had typed “bilking cycle” there), and there was a $9.99 charge (plus tax) for an “activation fee”.&lt;/p&gt;  &lt;p&gt;Honestly, I would probably not have been so bothered by this if they had also charged me to move to a more expensive plan.&amp;#160; But this just reeks of greed.&amp;#160; It’s little charges like this that show you a company’s true character.&amp;#160; Don’t ever think a company like this is in it for the customers.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-216423501154443847?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/216423501154443847/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=216423501154443847" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/216423501154443847?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/216423501154443847?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2009/05/rant-its-little-charges-that-show.html" title="Rant – It’s the little charges that show a company’s true character" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;CEMARXc9eip7ImA9WxVaEU4.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-2997559679327466471</id><published>2009-04-07T12:20:00.001-07:00</published><updated>2009-04-07T12:27:24.962-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-07T12:27:24.962-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DDD" /><category scheme="http://www.blogger.com/atom/ns#" term="CMS" /><title>CMS Project Update – DDD Analysis Paralysis</title><content type="html">&lt;p&gt;I’m in the middle of my re-write of the CMS project I blogged about earlier.&amp;#160; Here’s a quick update:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;I’ve switched from building my own DAL to using nHibernate, a move I’m still coming to terms with, but generally happy with. &lt;/li&gt;    &lt;li&gt;I’m using the Repository Pattern for data persistence &lt;/li&gt;    &lt;li&gt;I’m using ASP.NET MVC for the web application layer &lt;/li&gt;    &lt;li&gt;I’m writing a LOT of unit tests to flesh out the object model design and basic functionality before I even start on the web UI. &lt;/li&gt;    &lt;li&gt;I’m attempting to combine my DTO layer with my rich object model, which is the focus of this post. &lt;/li&gt; &lt;/ul&gt;  &lt;h1&gt;Architecture Overview&lt;/h1&gt;  &lt;p&gt;I’ve created an abstract EntityBase class that simply has an ID.&amp;#160; So far, 2 classes of objects derive from this – Content classes (e.g. Blog posts, articles, etc.) and non-content objects that still have identities and still need to be persisted (e.g. tags).&amp;#160; In the database, I have a common “Content” table to store the properties common to all content types (e.g. State, , and then I have one-off tables for storing properties specific to derived content objects (e.g. BlogPosts table has columns for Title and Body).&lt;/p&gt;  &lt;p&gt;For content classes, I’ve created a ContentBase that derives from EntityBase.&amp;#160; ContentBase adds properties for things like SubmittedBy, SubmittedDate, PublishDate (for delayed publishing), State (e.g. Draft, Published, PendingModeration, etc.), and ContentType (an enum: BlogPost, Article, Picture, etc.).&lt;/p&gt;  &lt;p&gt;All of the properties on entities have public getters and setters so they work easily with nHibernate without requiring me to create a custom access method.&amp;#160; Maybe I’m being lazy here, but this really feels like the direction nHibernate pushes you.&lt;/p&gt;  &lt;h1&gt;my business logic quandary&lt;/h1&gt;  &lt;p&gt;I’m working through a design issue right now specifically related to these content objects.&amp;#160; I want to be able to enforce rules/workflow around publishing content.&amp;#160; For example, any user could submit an article, but only editors are allowed to actually publish the article.&lt;/p&gt;  &lt;p&gt;My question is where does this business logic fit best?&amp;#160; All properties on content objects have public getters and setters, and so by using the IContentRepository&amp;lt;T&amp;gt; interface, any user could set the state of a content item to “Published” and save it to the database.&amp;#160; I need some way to enforce the business rules about who can publish content.&lt;/p&gt;  &lt;h2&gt;Option 1 – Logic in Repositories&lt;/h2&gt;  &lt;p&gt;One thought is to encode this logic into the content repositories.&amp;#160; I don’t like that, however, because it shouldn’t be the repositories job to manage permissions.&amp;#160; They should only be concerned with loading and modifying data.&amp;#160; &lt;/p&gt;  &lt;h2&gt;Option 2 – Logic in Entities&lt;/h2&gt;  &lt;p&gt;This leads me to the thought that consumers of my “object model” shouldn’t have any access to the repository layer.&amp;#160; Then, they couldn’t directly manipulate the data and circumvent the business rules.&amp;#160; Actually, I think this is a good idea no matter where I store the business logic, unless I can guarantee somehow that no business rules would be violated via direct access to the repositories.&lt;/p&gt;  &lt;p&gt;So, if not in the repositories, then maybe I should add this logic into the content entities.&amp;#160; Each entity implements an IsValid() method that gets called before the repositories save data.&amp;#160; I could place my rules checks in this method, but it’s still somewhat messy.&amp;#160; For example, an Article entity knows who authored it, but it shouldn’t care who actually edits/moderates/publishes it.&amp;#160; In order for IsValid() to validate the publishing workflow, I’d have to add a property to content entities to track who published them.&amp;#160; Surely there would be some other such property down the line, and I’d have to add more and more to the entities that they really shouldn’t be concerned with.&lt;/p&gt;  &lt;h2&gt;Option 3 – Introduce Services&lt;/h2&gt;  &lt;p&gt;Another option is to introduce an IPublisherService interface that handles publishing workflow.&amp;#160; The usage would look something like this:&lt;/p&gt;  &lt;pre&gt;   IUser author = UserRepository.GetByName(&amp;quot;Jason&amp;quot;);&lt;br /&gt;   DateTime dateToPublish = DateTime.Parse(&amp;quot;4/5/2009 1:34:00&amp;quot;);&lt;br /&gt;   BlogRepository.Create(&amp;quot;post title&amp;quot;, &amp;quot;post body&amp;quot;, author, dateToPublish);&lt;br /&gt;   publisher.Publish(newPost);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I have a few problems with this approach too.&amp;#160; Notice that the UserRepository is still public here.&amp;#160; That violates the “rule” I established above while discussing Option 2.&amp;#160; So, do I establish an IUserService that essentially duplicates the IUserRepository interface along with some extra business logic?&amp;#160; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Also, what about Tagging content?&amp;#160; If I go with the “directly access entity properties” approach of Option 1, then I can simply add tags to the Tags collection member of my objects and when the object is persisted, then the Tag objects are automatically generated by nHibernate and saved/mapped in the appropriate tables. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Option 4 – Hybrid with Credential Validation in Repository Calls / Entity Logic&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Part of the problem with my current repository interface is that it has no concept of who is actually calling it.&amp;#160; I could take a dependency on the ASP.NET membership stuff and just assume that I can find out from inside the repository, but I don’t like being tightly coupled to dependencies like that.&amp;#160; So, I will probably stick with my IUser interface which abstracts user identities out a bit.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;So, if I pass in user credentials via IUser with each repository call, and repositories know how to ask a central permissions service whether or not the given user has privileges to do the thing they’re asking about, then I can still embed the permissions part of the business logic into the repositories.&amp;#160; This feels natural somehow, and I’m inclined to go with it.&amp;#160; The remaining business logic around entities can go into the IsValid() method on the entities.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;So, each repository call would look something like this:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   IUser author = UserRepository.GetByName(&amp;quot;Jason&amp;quot;);&lt;br /&gt;   DateTime dateToPublish = DateTime.Parse(&amp;quot;4/5/2009 1:34:00&amp;quot;);&lt;br /&gt;   var newPost = BlogRepository.Create(&amp;quot;post title&amp;quot;, &amp;quot;post body&amp;quot;, author, dateToPublish); // author is checked for permissions to create blog posts&lt;br /&gt;   Publisher.SubmitForPublishing(newPost, author);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Then, some editor user comes along and tries:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   IUser moderator = UserRepository.GetByName(currentUserName);&lt;br /&gt;   publisher.Publish(newPost, &lt;b&gt;moderator&lt;/b&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;or&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   publisher.Reject(newPost, &lt;b&gt;moderator&lt;/b&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;... but if the post author tried it:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;   publisher.Reject(newPost, &lt;b&gt;author&lt;/b&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;... then they'd get a security exception (which would also be logged in the audit log).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I’m currently leaning towards this approach. It combines the simplicity of embedding business logic into the entities without the requiring me to hide the repositories or (heaven forbid) split repositories into reader/writer interfaces.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I’m still not quite sure what to do about public setters for things like the Tags collection on entities… but I think that’s a topic for my next post.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Thoughts?&amp;#160; Am I barking up the wrong tree entirely?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-2997559679327466471?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/2997559679327466471/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=2997559679327466471" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2997559679327466471?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2997559679327466471?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2009/04/cms-project-update-ddd-analysis.html" title="CMS Project Update – DDD Analysis Paralysis" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;DU8BRH04eyp7ImA9WxVbFU4.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-7159396867956319693</id><published>2009-03-31T15:17:00.001-07:00</published><updated>2009-03-31T15:17:35.333-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-31T15:17:35.333-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hypermiling" /><category scheme="http://www.blogger.com/atom/ns#" term="honda civic hybrid" /><title>9 Reasons Why Your Mileage is Worse in Cold Weather</title><content type="html">&lt;p&gt;I’ve noticed that I get about 20-25% less average fuel efficiency in cold weather in my 2006 Honda Civic Hybrid, and not being an “engine guy”, I really never understood why.&amp;#160; My cold weather average is between 43-46mpg, and in warmer weather I average around 54-56mpg.&amp;#160; &lt;/p&gt;  &lt;p&gt;I was shown this article today that offers 9 reasons for why this is true.&amp;#160; Several of the points have source links helping validate the claims.&amp;#160; I’ll definitely have to do some more research, but I wanted to pass it along in case you’re wondering the same thing.&lt;/p&gt;  &lt;p&gt;Happy hypermiling!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Read:&amp;#160; &lt;/strong&gt;&lt;a href="http://www.metrompg.com/posts/winter-mpg.htm" target="_blank"&gt;9 reasons why your winter fuel economy bites&lt;/a&gt; (metrompg.com)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-7159396867956319693?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/7159396867956319693/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=7159396867956319693" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7159396867956319693?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7159396867956319693?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2009/03/9-reasons-why-your-mileage-is-worse-in.html" title="9 Reasons Why Your Mileage is Worse in Cold Weather" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;DEQCQX06eip7ImA9WxVRFUk.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-3768272053103713562</id><published>2009-01-21T05:59:00.001-08:00</published><updated>2009-01-21T05:59:20.312-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-21T05:59:20.312-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Twitter" /><title>12 Tips for New Twitter Users</title><content type="html">&lt;p&gt;I’ve been using Twitter for a while, and I thought I’d pass along a set of tips that have helped me get more out of it.&amp;#160; Hopefully you’ll find these useful, and if you have additional tips to share, please post comments.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;1. Find other people who are talking about things you’re interested in&lt;/strong&gt; – &lt;a href="http://www.tweetscan.com"&gt;Tweetscan&lt;/a&gt; lets you search tweets for keywords.&amp;#160; It’s a great way to see who else is talking about topics you’re interested in and to find new people to follow.&amp;#160; You can also set up RSS feeds for your keyword searches!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;2. Mr. Tweet&lt;/strong&gt; – Mr. Tweet will analyze your friends and followers and suggest new people you should be following.&amp;#160; It’s growing quickly and analysis can take a couple of weeks, but it’s well worth joining.&amp;#160; Sign up at &lt;a href="http://www.mrtweet.com"&gt;MrTweet.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3. Focus your tweets&lt;/strong&gt;&amp;#160;&lt;strong&gt;to your goals &lt;/strong&gt;– Think about what you’re really trying to get out of Twitter?&amp;#160; If you’re just looking for someone to chat with, feel free to tweet about your cat, what you’re having for dinner, that jerk in front of you in the checkout line, etc.&amp;#160; You’ll probably bore your friends to death, but go ahead.&amp;#160; On the other hand, if you’re trying to build up a social network around a particular topic or concern, keep your tweets (mostly) related to that topic.&amp;#160; Chances are you’ll end up having more meaningful conversations with other people who care about the topic, and your signal-to-noise ratio will be much higher.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;4. Accept replies from non-followers&lt;/strong&gt; – I’m still surprised this isn’t on by default in Twitter, but it’s critical if you want to grow your network.&amp;#160; With this option turned off, you won’t see tweets from non-followers who randomly reply to you (e.g. if they found you through Tweetscan).&amp;#160; To enable it, go to the settings page in your Twitter profile, and on the Notices tab, select “Show me all @ replies”.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;5. Advertise your Twitter account on your blog&lt;/strong&gt; – Help your blog readers find you by putting a link to your Twitter account at the top of your blog near your RSS feed link.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;6. Tweet your blog posts&lt;/strong&gt; – When you post to your blog, let your community know by tweeting a link to the story.&amp;#160; It’s a great way to drive traffic to your site.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;7. Stay connected&lt;/strong&gt; – If you have a mobile phone with a data plan, consider installing a Twitter client such as TinyTwitter (for Windows Mobile) so you can stay connected to your community while on the go.&amp;#160; If you go for long periods without tweeting, your community will likely stop following you.&amp;#160; Install a desktop client like Twhirl or Tweetdeck to stay connected from your PC – they usually provide much richer interfaces than the Twitter.com website.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;8. Retweet great tweets from your friends – &lt;/strong&gt;When you see an interesting tweet from a friend, pass it along by “retweeting”.&amp;#160; This shows your friends you care and helps spread the word.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;9. Shrink URLs – &lt;/strong&gt;Use a service like &lt;a href="http://tinyurl.com"&gt;TinyUrl&lt;/a&gt; to shrink your URLs to fit within the 140 character limit.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;10. Share photos with Twitpic – &lt;/strong&gt;Many Twitter clients have tight integration with &lt;a href="http://www.twitpic.com"&gt;Twitpic&lt;/a&gt; – a photo sharing service.&amp;#160; Just specify your Twitter account, point to a photo, and you can tweet it easily.&amp;#160; This is a great way to tweet live events in realtime from mobile phones, for example.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;11. Grade yourself&lt;/strong&gt; – &lt;a href="http://www.twittergrader.com"&gt;TwitterGrader&lt;/a&gt; will analyze your friends and followers and your tweeting habits and assign you a grade from 0 to 100.&amp;#160; You can also use it to find other “top tweeters” in your area.&amp;#160; It’s a fantastic way to connect with other local tweeters!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;12. Use a photo in your Twitter profile&lt;/strong&gt; – Personalize your Twitter profile by uploading a photo.&amp;#160; It doesn’t have to be a photo of you, but make it something that represents who you are.&amp;#160; Feel free to update it from time to time to keep your persona fresh.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-3768272053103713562?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/3768272053103713562/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=3768272053103713562" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/3768272053103713562?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/3768272053103713562?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2009/01/12-tips-for-new-twitter-users.html" title="12 Tips for New Twitter Users" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;DkcHRn46eSp7ImA9WxVTFko.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-7211407317877561403</id><published>2008-12-30T10:26:00.001-08:00</published><updated>2008-12-30T13:53:57.011-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-30T13:53:57.011-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DDD" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET MVC" /><category scheme="http://www.blogger.com/atom/ns#" term="CMS" /><title>Moving from ActiveRecord to the Repository Pattern in my CMS</title><content type="html">&lt;p&gt;Some of you may know that I’ve been working on a CMS in my spare time.&amp;#160; This is partly so I can have something easy to publish my blog with, but mostly it’s just a learning exercise.&amp;#160; I’ve been working on and off on this thing for over a year.&amp;#160; Along the way, I’ve picked up some new C# skills, ASP.NET, some new SQL skills, learned VS Team Data, etc. Most recently, I’ve been digging into ASP.NET MVC, Test Driven Design, unit testing, dependency injection/inversion of control, and Domain Driven Design.&amp;#160; &lt;/p&gt;  &lt;p&gt;So… I’ve decided to commit the ultimate sin and start the project over essentially from scratch, abandoning what I wrote before I learned all this new stuff in hopes that it’ll still save me time in the long run.&lt;/p&gt;  &lt;p&gt;This post is a form of “thinking out loud” to help me work through my new design and convince myself it’s oatmeal (“the right thing to do”).&amp;#160; Comments are welcome.&amp;#160; Just don’t tell me I’m crazy; I already know that.&lt;/p&gt;  &lt;h2&gt;Initial Attempts, and Why I Abandoned Them&lt;/h2&gt;  &lt;p&gt;My first attempt at building the core CMS classes looked roughly like this (using my Blog model as an example):&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;BlogPostInfo&lt;/strong&gt; – Read-only value object / data transfer object that basically represent a row in the database&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;IBlogDAL&lt;/strong&gt; – Interface to abstract away my data access layer&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;BlogProvider&lt;/strong&gt; – Implements IBlogDAL.&amp;#160; Makes calls to database for CRUD operations via ADO.NET.&amp;#160; Deals only with BlogPostInfo objects&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DALFactory &lt;/strong&gt;– factory class that knows how to instantiate the DAL implementations registered in web.config&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;BlogPost&lt;/strong&gt; - “fat” class that has a hard-coded dependency on DALFactory. Adds some static methods for CRUD (passes through to the IBlogDAL implementation), adds setters for properties, adds lazy-loading “smart” properties for related objects.&amp;#160; Typical usage looks like:&lt;/p&gt;  &lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;blockquote&gt;&lt;p&gt;BlogPost post = BlogPost.GetPostById(postId);&lt;/p&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;blockquote&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt;(Comment comment &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; post.Comments)&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;{&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;   &lt;span style="color: #008000"&gt;//...&lt;/span&gt;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The BlogPost.Comments property doesn’t exist on the thin read-only BlogPostInfo class (no “helper” methods do), only on the BlogPost class.&amp;#160; When the property is accessed, I call through to my Comments static class to a method that returns all comments for the current blog post ID.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This all made for an easy-to-use BLL, but I didn’t find it very easy to update or to unit test.&amp;#160; If I wanted to add or remove a method on the domain model, I may have to update as many as N different layers: the IXXXDAL interface, the DAL implementation, database artifacts (sprocs &amp;amp; tables, maybe also views), the XXXInfo read-only entity, and finally the BLL class in the “fat” object model. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Adding to the downsides of this approach, my BLL classes hard-coded their dependency on a DAL Factory class (a la the Pet Shop 4.0 example).&amp;#160; So each BLL class has a private “DAL” member variable that calls the factory, which in turn reads web.config to determine what class implements the requested data access type.&amp;#160; So, if I wanted to unit test my BlogPost objects without standing up a database, I’d have to replace web.config to point to a mock IBlogDAL.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;So my goal in redesigning my core infrastructure was to reduce the number of layers to the bare minimum and to make my code easier to unit test.&amp;#160; I’m afraid this will come at the cost of usability of my core services components, but I’m willing to give it a try in the name of quality.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Domain Model&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Taking a loose interpolation of a DDD approach, I’ll start by describing my new domain model.&amp;#160; Let’s look at the Blog model as an example:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I’m going with a thin read/write class for each of my domain entities.&amp;#160; For example:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; BlogPost : BaseEntity&lt;br /&gt;{&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Title { &lt;span style="color: #0000ff"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff"&gt;set&lt;/span&gt;; }&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Author { &lt;span style="color: #0000ff"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff"&gt;set&lt;/span&gt;; }&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Markup { &lt;span style="color: #0000ff"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff"&gt;set&lt;/span&gt;; }&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; DateTime PostedDate { &lt;span style="color: #0000ff"&gt;get&lt;/span&gt;; &lt;span style="color: #0000ff"&gt;set&lt;/span&gt;; }&lt;br /&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;BaseEntity is a simple base class that includes an ID parameter and requires derived classes to specify a “type” ID.&amp;#160; The type ID is an enumeration that includes things like BlogPosts, Articles, Photos, etc. I use it in tagging and commenting so I can implement generic tagging and commenting tables (tags and comments are linked to instances of objects by their ID and by their type ID in a SQL table.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I’ve decided against using interfaces to abstract away implementations of the domain model in order to keep things simple.&amp;#160; I’d love your opinions on this.&amp;#160; Personally, I don’t yet see the point of implementing an interface on a simple class that has no methods.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Repositories&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I will use interfaces for each type of repository in order to make unit testing my code easier.&amp;#160; I’m going to keep repositories as simple as possible, ideally sticking to just CRUD operations for each object type.&amp;#160; For example:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; IBlogPostRepository&lt;br /&gt;{&lt;br /&gt;   BlogPost GetBlogPostById(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; id);&lt;br /&gt;   IList&amp;lt;BlogPost&amp;gt; GetAllBlogPosts();&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; Save(BlogPost post);&lt;br /&gt;   &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; Delete(BlogPost post);&lt;br /&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This feels pretty “raw” to me as far as something I’d consume from a controller (as opposed to the “fat” BLL approach above).&amp;#160; For example, my BlogPost BLL object had a method to approve posts (BlogPost.Approve()).&amp;#160; Using this approach, I’d have to do the following:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;BlogPost post = blogRepository.GetBlogPostById(postId);&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;post.Approved = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;p&gt;post.Save();&lt;/p&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In the old model, I would have done:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;BlogPost post = BlogPost.GetBlogPostById(postId);&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;post.Approve();&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Where do Services Fit In?&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Here’s where I’m still waffling on the design. Should an IRepository include non-CRUD methods like encoding user-generated input from a forum post into HTML safe for rendering?&amp;#160; Should a repository implement validation functionality, such as making sure a BlogPost object has the author field specified before attempting to update it in the data store?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Essentially… where does the business logic fit in?&amp;#160; I’m thinking the answer is in services.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;It seems to me that for some things, a repository should depend on business logic services such as validators.&amp;#160; In other cases, services should depend on repositories.&amp;#160; I’d love your thoughts on this.&amp;#160; Also, where do you draw the line and decide to implement a method as a service rather than on a repository?&amp;#160; For example, should ModerateComment be a method on an ICommentRepository or in an ICommentService?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;And Another thing…&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I really liked 1 thing about my ActiveRecord approach.&amp;#160; Classes in the BLL had behaviors, such as being commentable or taggable.&amp;#160; I had implemented these behaviors by specifying interfaces, ICommentable and ITaggable.&amp;#160; If a class inherited those interfaces, then a user could apply comments to tags to them.&amp;#160; It was nice because the behavior for the business object was encapsulated with the class.&amp;#160; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;If I understand the repository/service approach correctly (and I most certainly do NOT), then I think I’d have to implement an ICommentService that knows how to apply comments to all domain entities.&amp;#160; I’m not comfortable with this – now the business objects (or what’s left of the concept of a business object) don’t know what they can or can’t do.&amp;#160; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;For example, I’m thinking of ICommentService having the following methods:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;&lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;interface&lt;/span&gt; ICommentService&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;{&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;   AddCommentToObject(CommentInfo comment, BaseEntity target);&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;   ModerateComment(CommentInfo comment, &lt;span style="color: #0000ff"&gt;bool&lt;/span&gt; approved);&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;   IsOkToPostComments(BaseEntity target, );&lt;/pre&gt;&lt;pre style="font-size: 12px; margin: 0em; width: 100%; font-family: consolas,&amp;#39;Courier New&amp;#39;,courier,monospace; background-color: #ffffff"&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;But what if I had some business objects that shouldn’t be commentable?&amp;#160; I suppose some of my options would be:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1. Derive a class CommentableEntity from BaseEntity and then derive any commentable classes from CommentableEntity.&amp;#160; If an object isn’t commentable, then it would just derive from BaseEntity instead of CommentableEntity.&amp;#160; C# doesn’t allow multiple inheritance though, so I couldn’t follow this approach for ITaggable or any other additional behaviors.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2. Include AllowComments and AllowTags properties on the BaseEntity class so al derived classes can decide whether or not they want to allow comments.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;3. Stick with the ICommentable and ITaggable methods, but how do those fit in when your domain entities are super thin containers around properties only (at least that’s what all the examples I’ve seen indicate to do).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;The Wrap Up&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I’ll stop babbling for now – hopefully someone will read this and offer some sage wisdom to set me on the right track.&amp;#160; Thanks in advance!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-7211407317877561403?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/7211407317877561403/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=7211407317877561403" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7211407317877561403?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7211407317877561403?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/12/moving-from-activerecord-to-repository.html" title="Moving from ActiveRecord to the Repository Pattern in my CMS" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;CkQERXs7cCp7ImA9WxRRGUo.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-7862355985938716167</id><published>2008-10-02T10:58:00.001-07:00</published><updated>2008-10-02T10:58:24.508-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-02T10:58:24.508-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hypermiling" /><category scheme="http://www.blogger.com/atom/ns#" term="living green" /><category scheme="http://www.blogger.com/atom/ns#" term="funny" /><category scheme="http://www.blogger.com/atom/ns#" term="rants" /><title>A Prius With Something To Say</title><content type="html">&lt;p&gt;A co-worker of mine got his new vanity plate for his Prius today.&amp;#160; I’m actually shocked they gave it to him, but then again, someone in the DMV would have to be a) conscious, and b) care to deny this gem:.&amp;#160; If you can’t figure it out, post a comment ;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/joefuture/SOULuQWNEFI/AAAAAAAAAFs/v_52orPvjJE/s1600-h/prius-statement-sm%5B4%5D.png"&gt;&lt;img title="prius-statement-sm" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="379" alt="prius-statement-sm" src="http://lh5.ggpht.com/joefuture/SOULvsI5DOI/AAAAAAAAAFw/y8Nxem6D8-U/prius-statement-sm_thumb%5B2%5D.png?imgmax=800" width="504" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-7862355985938716167?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/7862355985938716167/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=7862355985938716167" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7862355985938716167?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7862355985938716167?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/10/prius-with-something-to-say.html" title="A Prius With Something To Say" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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://lh5.ggpht.com/joefuture/SOULvsI5DOI/AAAAAAAAAFw/y8Nxem6D8-U/s72-c/prius-statement-sm_thumb%5B2%5D.png?imgmax=800" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;CEcBRHYyfCp7ImA9WxRREk8.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-5451207477942777531</id><published>2008-09-23T19:07:00.001-07:00</published><updated>2008-09-23T19:07:35.894-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-23T19:07:35.894-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="rants" /><title>Debunking Nostradamus Books for Sport</title><content type="html">&lt;p&gt;I randomly decided I wanted to learn more about Nostradamus and his alleged predictions for the end of the world.&amp;#160; Why not?&amp;#160; Between increasing tensions in the Middle East, the crazy worldwide financial crisis, and hurricanes increasing in strength and destruction each year, I figured it would at least be interesting.&lt;/p&gt;  &lt;p&gt;So I popped open a web search for “Nostradamus predictions”, and the 2nd hit looked intriguing: &lt;/p&gt;  &lt;p&gt;From NostradamusOnline.com:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In May 2005, the Italian National Library in Rome made an amazing discovery. Buried in their archives was an unknown manuscript written by the famed prophet Michel de Nostradame, or Nostradamus (1503-1566). This manuscript was handed down to his son and later donated to Pope Urban VIII. It did not surface again until now, almost four hundred years later.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Next, I wanted to see if the book was available on Amazon.&amp;#160; &lt;a href="http://www.amazon.com/Nostradamus-Code-World-War-2007-2012/dp/0977634108/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1222221811&amp;amp;sr=1-1" target="_blank"&gt;It is&lt;/a&gt;, and it got some fairly horrible reviews – several even alleging plagiarism of other authors!&lt;/p&gt;  &lt;p&gt;A bit more searching on Amazon.com turned up &lt;a href="http://www.amazon.com/Nostradamus-Manuscript-Unlocks-Secrets-Prophet/dp/0892819154/ref=sr_1_47?ie=UTF8&amp;amp;s=books&amp;amp;qid=1222221225&amp;amp;sr=1-47" target="_blank"&gt;this gem&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In 1994 members of the Italian National Library in Rome found buried in their archives an unknown and unpublished manuscript consisting of 80 mysterious paintings by the famed prophet Michel de Nostradamus (1503-1566). This manuscript, handed down to the prophet's son and later donated by him to Pope Urban VIII, confirms the hidden chronology of Nostradamus's quatrains discovered by the well-known Nostradamus scholar Ottavio Cesare Ramotti.       &lt;br /&gt;In both the paintings and accompanying quatrains within, Nostradamus correctly predicts such key events as the Nazi Blitzkrieg, the assassination attempt on Pope John Paul II, the burning of the oil wells of Kuwait by Iraq, and Boris Yeltsin's rise to power. Knowing the power that his prophecies contained, and wary of this power falling into the wrong hands, Nostradamus scrambled both the meaning and the order of his quatrains so that humanity would not be able to use them until it had become sophisticated enough to decode them. That time is now. Using a software program he created, Ramotti has finally cracked the code and produced a book that is required reading for those who want to know what the next millennium has in store.&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Notice a strange similarity between the descriptions?&lt;/p&gt;  &lt;p&gt;So which is it?&amp;#160; Did the Italian National Library discover this manuscript in 1994 or 2005?&amp;#160; Is Boris Yeltsin the great Russian trouble-maker, or is it perhaps Putin?&amp;#160; It’s pretty easy to read whatever you want into the quatrains depending on the current times.&amp;#160; For example, several books interpreted that “Mabus” (supposedly Mr. Bush) would meet an untimely end in 2007, and we know that didn’t happen.&amp;#160; &lt;/p&gt;  &lt;p&gt;It’s too bad this whole Nostradamus thing reeks of Vegas-like levels fakery and deception.&amp;#160; It’s even worse that the whole rigmarole is recycled every couple of decades.&amp;#160; Worse yet, apparently some of us fall for it.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-5451207477942777531?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/5451207477942777531/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=5451207477942777531" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/5451207477942777531?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/5451207477942777531?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/09/debunking-nostradamus-books-for-sport.html" title="Debunking Nostradamus Books for Sport" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;C0cHQnY-eip7ImA9WxRSF00.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-2355828084115537285</id><published>2008-09-17T18:23:00.001-07:00</published><updated>2008-09-17T18:23:53.852-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-17T18:23:53.852-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reviews" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile apps" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile" /><title>What's on my BlackJack II - GPSed</title><content type="html">&lt;p&gt;I've been tinkering around with the .NET Compact Framework's GPS APIs a bit lately. I worked up a quick little app for my Blackjack that tracks my position via the built-in GPS and uploads it to my home server.&amp;#160; Then, I can view my tracks in Live Maps (or any other mapping app I plug in).&amp;#160; All was going well..&lt;/p&gt;  &lt;p&gt;Then I discovered &lt;a href="http://www.gpsed.com" target="_blank"&gt;GPSed.com&lt;/a&gt;, and I immediately stopped coding. These guys have already done it, and it's free!&lt;/p&gt;  &lt;p&gt;In a nutshell, GPSed is an app you install that allows you to track your location (and altitude!) via your phone's built-in GPS (or an attached Bluetooth GPS), record &amp;quot;tracks&amp;quot;, and share them online.&amp;#160; The more you dig, the better it gets...&amp;#160; You can stream your tracks live to the web, control whether tracks are public or private, upload photos taken during your tracks and automatically geo-tag them, share your tracks live through your Twitter account... etc.&amp;#160; You can export your tracks in a number of formats too for uploading to other services or viewing in 3D in Google Earth.&lt;/p&gt;  &lt;p&gt;So far, GPSed has worked like a dream on my Blackjack II.&amp;#160; Note, you'll have to install the &lt;a href="http://www.modaco.com/content/Smartphone-Standard-News/262074/Samsung-Blackjack-II-GPS-ACTIVATED/" target="_blank"&gt;MoDaCo GPS enabler hack&lt;/a&gt; to get it to work on the Blackjack or Blackjack II.&amp;#160; Clients are also available for the Blackberry and iPhone (and other phones).&amp;#160; Enjoy!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-2355828084115537285?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/2355828084115537285/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=2355828084115537285" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2355828084115537285?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2355828084115537285?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/09/what-on-my-blackjack-ii-gpsed.html" title="What&amp;#39;s on my BlackJack II - GPSed" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;DUUCRXo6fSp7ImA9WxRTFk4.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-4359299269082107442</id><published>2008-09-05T10:54:00.001-07:00</published><updated>2008-09-05T10:54:24.415-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-05T10:54:24.415-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><category scheme="http://www.blogger.com/atom/ns#" term="WM6.1" /><title>Great review of Blackjack II with WM6.1</title><content type="html">&lt;p&gt;Read Keith Elder's thorough review of the Blackjack II with WM6.1 &lt;a href="http://keithelder.net/blog/archive/2008/09/04/BlackJack-II-Windows-Mobile-6.1-Review.aspx"&gt;here&lt;/a&gt;.&amp;#160; I wish I'd had time to write all this!&amp;#160; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-4359299269082107442?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/4359299269082107442/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=4359299269082107442" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4359299269082107442?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4359299269082107442?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/09/great-review-of-blackjack-ii-with-wm61.html" title="Great review of Blackjack II with WM6.1" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;DU8GRX8zfSp7ImA9WxRTFUo.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-4580182185483665200</id><published>2008-09-04T18:23:00.001-07:00</published><updated>2008-09-04T18:23:44.185-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-04T18:23:44.185-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><category scheme="http://www.blogger.com/atom/ns#" term="WM6.1" /><title>Better battery life on Blackjack II with WM6.1?</title><content type="html">&lt;p&gt;Is it just me, or are you also getting &lt;em&gt;much&lt;/em&gt; better battery life on your Blackjack II after upgrading to WM6.1?&amp;#160; I haven't run any scientific tests, but I've definitely noticed an improvement.&amp;#160; Granted, after the hard reset, I haven't installed all of my apps back yet.&amp;#160; A couple of these had tasks that run in the background (SOTI Pocket Controller Pro and SplashMoney), but beyond that, I'm running all the same apps.&amp;#160; &lt;/p&gt;  &lt;p&gt;For example, in the past, I could start with a full charge before leaving for the office.&amp;#160; With Tiny Twitter updating every 4 minutes and &amp;quot;as items arrive&amp;quot; Exchange e-mail synchronization, I would be down to 2 bars by about lunchtime.&amp;#160; Today, I'm still at 4 bars of battery (estimating about 80% life remaining) and it's past 9pm!&lt;/p&gt;  &lt;p&gt;I'm curious to know if this is just my observation or if you're seeing better battery life too?&amp;#160; Or worse?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-4580182185483665200?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/4580182185483665200/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=4580182185483665200" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4580182185483665200?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4580182185483665200?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/09/better-battery-life-on-blackjack-ii.html" title="Better battery life on Blackjack II with WM6.1?" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;Ak4ARH89eip7ImA9WxRTFEs.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-4725986302686001100</id><published>2008-09-03T12:09:00.001-07:00</published><updated>2008-09-03T12:09:05.162-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-03T12:09:05.162-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile apps" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><category scheme="http://www.blogger.com/atom/ns#" term="WM6.1" /><title>How to Use Voice Command on BlackJack II with WM6.1</title><content type="html">&lt;p&gt;When I upgraded my Blackjack II to WM6.1 last night, I was pleasantly surprised to see that Voice Command is now installed by default.&amp;#160; This handy little app from Microsoft lets you interact with your phone by... voice... commands...&amp;#160; duh.&amp;#160; &lt;/p&gt;  &lt;p&gt;It's easy to find and set up - just click to the start menu, select All Programs (another new feature of WM6.1), and then launch Voice Command.&amp;#160; You're presented with several options that let you configure VC to your heart's content.&lt;/p&gt;  &lt;p&gt;Unfortunately, 1 critical configuration point is missing - the VC &amp;quot;hotkey&amp;quot;.&amp;#160; To use VC, you have to press a button to put it into listening mode before you can talk to it.&amp;#160; Imagine how annoying it would be if the phone was always listening to you and rushing to answer &amp;quot;what time is it?&amp;quot; when you ask a friend, or dialing some other planet while you're watching E.T.?&lt;/p&gt;  &lt;p&gt;Unfortunately, while the help text explains why you have to press the hotkey and what you can do with VC, it doesn't say &lt;em&gt;which key to press.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;I found it today!&amp;#160; On the AT&amp;amp;T version of the Blackjack II (is there another version?), you just hold down the little AT&amp;amp;T &amp;quot;globe&amp;quot; key in the bottom-lefthand corner of the keypad.&amp;#160; After 1 second, you'll hear a little ding, and then you can proceed with commanding your phone to do your bidding.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-4725986302686001100?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/4725986302686001100/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=4725986302686001100" title="15 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4725986302686001100?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4725986302686001100?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/09/how-to-use-voice-command-on-blackjack.html" title="How to Use Voice Command on BlackJack II with WM6.1" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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>15</thr:total></entry><entry gd:etag="W/&quot;CkIHR3s4cCp7ImA9WxRTFEw.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-7440436668146904629</id><published>2008-09-02T19:55:00.001-07:00</published><updated>2008-09-02T19:55:36.538-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-02T19:55:36.538-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><category scheme="http://www.blogger.com/atom/ns#" term="WM6.1" /><title>Blackjack II WM6.1 upgrade is now available!</title><content type="html">&lt;p&gt;&lt;a href="http://ars.samsung.com/customer/usa/jsp/faqs/faqs_view.jsp?SITE_ID=22&amp;amp;PG_ID=557&amp;amp;PROD_SUB_ID=558&amp;amp;PROD_ID=957&amp;amp;AT_ID=132707"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="att_i617_update" src="http://lh5.ggpht.com/joefuture/SL38p1SMCDI/AAAAAAAAAFo/sXaED0P-pE4/att_i617_update%5B5%5D.jpg?imgmax=800" width="534" height="297" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The long-awaited Windows Mobile 6.1 upgrade for the Samsung Blackjack II is now available to download!&amp;#160; Point yourself to &lt;a target="_blank" href="http://ars.samsung.com/customer/usa/jsp/faqs/faqs_view.jsp?SITE_ID=22&amp;amp;PG_ID=557&amp;amp;PROD_SUB_ID=558&amp;amp;PROD_ID=957&amp;amp;AT_ID=132707"&gt;Samsung's website&lt;/a&gt; for all the gritty details.&amp;#160; As with previous updates, a mis-step could brick your device, so be sure to back up everything before you proceed.&amp;#160; Being a maverick, I'm just going ahead without backing up anything.&amp;#160; Leap before you look, I always say!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tip &lt;/strong&gt;- The Windows Vista instructions tell you to download the Samsung Modem drivers, which appear at first look to only be available for Windows 98/XP.&amp;#160; I installed &lt;a target="_blank" href="http://www.samsung.com/us/support/download/supportDownDetail.do?group=mobilephones&amp;amp;type=com.sec.dotcom.support.to.DownloadCompareTO@be8030&amp;amp;subtype=att&amp;amp;model_nm=SGH-I617&amp;amp;language=&amp;amp;cate_type=all&amp;amp;mType=SW&amp;amp;dType=D&amp;amp;vType=R&amp;amp;cttID=1860146&amp;amp;prd_ia_cd=01010100&amp;amp;disp_nm=BlackJack II (SGH-i617)"&gt;this package&lt;/a&gt; with no problem on my Vista laptop, however.&lt;/p&gt;  &lt;p&gt;On to the installation...&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;Wait for connecting the device to the PC...&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So far so good...&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;The device is ready to be downloaded&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Sweet!&amp;#160; They're downloading a new device to... my device?&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;Phase 2 Downloading 001%&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Um... this might take a while!&lt;/p&gt;  &lt;p&gt;Looking at my BJII screen, steps that &amp;quot;pass&amp;quot; are listed in Red while steps that are still in progress are shown in green.&amp;#160; I wonder if traffic signals in Korea follow this scheme too?&lt;/p&gt;  &lt;p&gt;Woohoo!&amp;#160; Phase 2 complete!&amp;#160; Wait... there's a Phase 3.&amp;#160; Drat.&amp;#160; Still waiting...&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;All procedure to update the ROM image are done!&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;All my base are belong to Samsung!&amp;#160; Phone is rebooting now... and wow, it's taking a LONG time to reboot.&amp;#160; I hope this is a one-time event.&lt;/p&gt;  &lt;p&gt;So far, so good.&amp;#160; My phone is amazingly empty after the purge/re-flash, so I'll spend a few more hours tonight reloading all my apps.&amp;#160; If you run into trouble installing the new image, you can call Samsung at 1-888-987-4357.&amp;#160; Kudos for a great (if not long) upgrade experience and a phone number for bailing out the unlucky!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-7440436668146904629?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/7440436668146904629/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=7440436668146904629" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7440436668146904629?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7440436668146904629?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/09/blackjack-ii-wm61-upgrade-is-now.html" title="Blackjack II WM6.1 upgrade is now available!" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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://lh5.ggpht.com/joefuture/SL38p1SMCDI/AAAAAAAAAFo/sXaED0P-pE4/s72-c/att_i617_update%5B5%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkYBRXw8fCp7ImA9WxRTE0w.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-1623700238589511695</id><published>2008-09-01T18:15:00.001-07:00</published><updated>2008-09-01T18:15:54.274-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-01T18:15:54.274-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reviews" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile" /><title>What's on my Blackjack: PhatNotes</title><content type="html">&lt;h3&gt;Pros:&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;very fast load time &lt;/li&gt;    &lt;li&gt;follows the Keep It Simple Stupid model &lt;/li&gt;    &lt;li&gt;automatic update detection &lt;/li&gt;    &lt;li&gt;provides quick and easy categorization of notes &lt;/li&gt;    &lt;li&gt;customizable display and note sorting/organization &lt;/li&gt;    &lt;li&gt;Spellchecker! &lt;/li&gt;    &lt;li&gt;password protect sensitive notes &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Cons:&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;can only assign 1 category per note &lt;/li&gt;    &lt;li&gt;doesn't integrate with Pocket Outlook categories (i.e. it's a separate list) &lt;/li&gt;    &lt;li&gt;can't insert existing tasks and appointments - can only create new ones to attach to notes &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Wish List:&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Customization on a per-database level. For example, my &amp;quot;home&amp;quot; database would have a different default category than my &amp;quot;work&amp;quot; database.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;h1&gt;Introduction&lt;/h1&gt;  &lt;p&gt;&lt;a href="http://click.linksynergy.com/fs-bin/click?id=An3jFMeClYk&amp;amp;offerid=142147.119837&amp;amp;type=2&amp;amp;subid=0"&gt;PhatWare PhatNotes 5.3&lt;/a&gt; &lt;img border="0" src="http://ad.linksynergy.com/fs-bin/show?id=An3jFMeClYk&amp;amp;bids=142147.119837&amp;amp;type=2&amp;amp;subid=0" width="1" height="1" /&gt; is a fantastic little note taking application for Windows Mobile devices.&amp;#160; I've been using it for a few months on my Blackjack II and am so impressed with it, I felt compelled to give it a thorough review.&amp;#160; In a nutshell, Phatnotes does 99% of what I want a note taking app to do and nothing else.&amp;#160; It's rare to find an app that blends simplicity and functionality so well! This is what Windows Notepad should have been all along!&lt;/p&gt;  &lt;h1&gt;Getting Started - Your First Note&lt;/h1&gt;  &lt;p&gt;When you fire up PhatNotes for the first time, it'll be ready for note taking before you are!&amp;#160; There's no fancy splash screen here - just a lightning fast load time and you're ready to go.&amp;#160; PhatNotes first presents you with a list of sample notes and categories.&amp;#160; Click the left soft key (LSK) to start a new note.&amp;#160; Type a few words, then click the LSK again to finish your note and save it to memory.&amp;#160; That's all it takes - your first note is done!&lt;/p&gt;  &lt;h1&gt;Advanced Note Taking&lt;/h1&gt;  &lt;p&gt;One of my favorite features in PhatNotes is the spell checker.&amp;#160; After you type a note, run the spell checker to fix up your typos.&amp;#160; Because of this, I'm less careful (and therefore faster) when I type notes. A quick spellcheck at the end catches most of my mistakes, and if it doesn't recognize a new word, I just add it to the dictionary for next time.&lt;/p&gt;  &lt;p&gt;For more control over your note, click the Right Soft Key while editing for the note options menu. From here, you can specify the note's subject/title, assign and/or create new categories, specify a color, priority, and date for the note. Colors are great for quick visual categorization.&amp;#160; For example, when something is urgent, I assign it the color red so it catches my eye while I'm scrolling through my notes list.&lt;/p&gt;  &lt;p&gt;If basic text doesn't do it for you, you can also edit font and paragraph layout options such as indentation widths, line spacing, paragraph spacing, etc. For some reason, I only see 1 available font to choose from in the fonts menu, but you can choose font size as well as the standard bold / italic / underline / strikethrough renderings. Although Windows Mobile Standard Edition doesn't have built-in selection or copy/paste, PhatNotes gives you these options to ease editing and font formatting.&lt;/p&gt;  &lt;p&gt;For even more fun, you can insert voice attachments, files, reminders, contacts, appointments, or tasks to notes.&amp;#160; You can also link notes to other notes, though I haven't quite found a great use for that feature yet (have you?). I was a little disappointed I couldn't insert existing appointments or tasks to notes; you can only create new ones. Once you've saved a note, you can send it via IR or e-mail from the main notes list. You can also receive notes from others via IR. &lt;/p&gt;  &lt;h1&gt;Note Organization&lt;/h1&gt;  &lt;p&gt;After you've used PhatNotes as long as I have, you may have accumulated a long list of notes.&amp;#160; fortunately, PhatNotes allows you to filter the notes you see by Date, Text, Color, or Priority. I found it a bit odd I couldn't filter by category, but I haven't found this to be limiting. You can also sort and organize by category as well as other attributes (sorting seems to be the same as organizing, only you can specify the sort order too).&lt;/p&gt;  &lt;p&gt;Another option for organizing your notes is to use separate note databases for different classes of notes. For example, you could use one database for work notes, and another for personal notes. You can even group databases! For an organizational nut like me, the possibilities are endless!&lt;/p&gt;  &lt;p&gt;For the extremely prolific note writers out there, you can even search for notes using regular expressions!&amp;#160; &lt;/p&gt;  &lt;h1&gt;Customize Your Experience&lt;/h1&gt;  &lt;p&gt;PhatNotes' options menu allows some simple customization of the user interface.&amp;#160; For example, you can show gridlines in notes if you like lines, turn colors on/off, manage the date format, and choose a default category, color, and priority for all new notes. &lt;/p&gt;  &lt;h1&gt;How I Use Phatnotes&lt;/h1&gt;  &lt;p&gt;Here are some ways I'm using PhatNotes every day on my Blackjack II to keep myself more organized:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;jotting down interesting web links to follow &lt;/li&gt;    &lt;li&gt;as a shopping list &lt;/li&gt;    &lt;li&gt;recording my mileage, fill-ups, etc. &lt;/li&gt;    &lt;li&gt;keeping track of the ever-growing honey-do list (a great stress test for Phatnotes!) &lt;/li&gt;    &lt;li&gt;tracking ideas for new blog posts &lt;/li&gt;    &lt;li&gt;keeping thoughts on Windows Mobile apps I'm reviewing as I use them &lt;/li&gt;    &lt;li&gt;remembering all the stuff my kids want for their birthdays &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The list goes on and on... &lt;/p&gt;  &lt;h1&gt;Conclusions&lt;/h1&gt;  &lt;p&gt;I'm constantly finding new ways to use PhatNotes.&amp;#160; In fact, I use it so much, it usually just stays active in my BlackJack II's memory!&amp;#160; I've tried several other competing notes applications for Windows Mobile, and this is the first one I've felt deserved a full review on JoeFuture.com. If note taking is your thing and the built-in Notes applet just isn't cutting it, you certainly owe it to yourself to give PhatNotes a try.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-1623700238589511695?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/1623700238589511695/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=1623700238589511695" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/1623700238589511695?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/1623700238589511695?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/09/what-on-my-blackjack-phatnotes.html" title="What&amp;#39;s on my Blackjack: PhatNotes" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;AkQMQHw-eSp7ImA9WxdbF0k.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-4381447584687086437</id><published>2008-08-14T14:13:00.000-07:00</published><updated>2008-08-14T14:13:01.251-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-14T14:13:01.251-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="living green" /><title>Introducing Amazon Green</title><content type="html">&lt;p&gt;While it may seem like they're jumping on the &amp;quot;Green bandwagon&amp;quot;, I have to give Amazon.com credit for attempting to make eco-friendly products more discoverable and accessible to the general public with their new &lt;a href="http://www.amazon.com/gp/browse.html/?node=394379011&amp;amp;tag=joefutur-20"&gt;Amazon Green&lt;/a&gt; portal.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.amazon.com/gp/browse.html/?node=394379011&amp;amp;tag=joefutur-20"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="64" alt="gogreen_468x60" src="http://lh5.ggpht.com/joefuture/SKSSClJefTI/AAAAAAAAAFk/10WPsZ6xW6Y/gogreen_468x60%5B5%5D.png?imgmax=800" width="472" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The portal features a variety of &amp;quot;green&amp;quot; products such as cleaning supplies, energy-star compliant appliances, baby products, and efficient lighting products.&amp;#160; From a quick initial look, there are quite a few products on the site I'd be interested in purchasing, and having Amazon's famous customer reviews to add extra information on each is a big help in making decisions.&amp;#160; Another common complaint about buying &amp;quot;green&amp;quot; is the extra cost.&amp;#160; Don't forget &lt;a href="http://www.amazon.com/gp/subs/primeclub/signup/extmain.html?ref=prime_assoc_bt&amp;amp;tag=joefutur-20" target="_blank"&gt;Amazon's Prime program&lt;/a&gt;, in which you pay a flat fee for unlimited second-day shipping for an entire year.&amp;#160; Buy green to save some green!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-4381447584687086437?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/4381447584687086437/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=4381447584687086437" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4381447584687086437?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4381447584687086437?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/08/introducing-amazon-green.html" title="Introducing Amazon Green" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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://lh5.ggpht.com/joefuture/SKSSClJefTI/AAAAAAAAAFk/10WPsZ6xW6Y/s72-c/gogreen_468x60%5B5%5D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DEYERHc9fCp7ImA9WxdbFkg.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-8383403317165990335</id><published>2008-08-13T12:27:00.001-07:00</published><updated>2008-08-13T12:35:05.964-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-13T12:35:05.964-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile apps" /><category scheme="http://www.blogger.com/atom/ns#" term="Qik" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile" /><title>Qik Windows Mobile client updated</title><content type="html">&lt;p&gt;Qik has &lt;a href="http://qik.com/blog/204/7c9d11882394aa669007fb3762c027f30ff771c5"&gt;updated their Windows Mobile client app&lt;/a&gt;.&amp;#160; In addition to bugfixes, they've added a few new features:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Offline Streaming&lt;/strong&gt; - now you can capture even if you don't have a wireless signal, and when Qik detects a signal it will go online and push out your stream.&amp;#160; Nice! &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Zoom&lt;/strong&gt; - Again, a great feature!&amp;#160; You can use digital zoom by pressing right (to zoom in) or left (to zoom out) on the D-Pad &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Access Point Selection&lt;/strong&gt; - For devices that have both 3G and WiFi, you can choose which network to broadcast over &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Qik will self-detect the new version (v 0.1.25) and offer to update your installation automatically.&amp;#160; I tried it today on my Blackjack II and it worked flawlessly.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-8383403317165990335?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/8383403317165990335/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=8383403317165990335" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/8383403317165990335?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/8383403317165990335?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/08/qik-windows-mobile-client-updated.html" title="Qik Windows Mobile client updated" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;DEMBRnk8eyp7ImA9WxdbEkw.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-1786875388954736300</id><published>2008-08-08T10:20:00.001-07:00</published><updated>2008-08-08T10:27:37.773-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-08T10:27:37.773-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hypermiling" /><category scheme="http://www.blogger.com/atom/ns#" term="living green" /><category scheme="http://www.blogger.com/atom/ns#" term="funny" /><category scheme="http://www.blogger.com/atom/ns#" term="rants" /><title>Hybrid Jerk - Battling Ignorance and Arrogance in the Eco Age</title><content type="html">&lt;p&gt;It's bad enough when non-handicapped people park in spaces reserved for the handicapped.&amp;#160; Now we have a new ignorance to battle.&amp;#160; &amp;quot;Hybrid Parking Only&amp;quot; spaces are popping up in more progressive areas more and more, yet we still see blatant displays of defiance.&amp;#160; Note, this is *not* a Hybrid Tahoe, but rather a standard EPA-rated 14 city / 20 highway (yeah right) Chevy Valdez.&amp;#160; &lt;/p&gt;  &lt;p&gt;All I can say is, this person is paying the stupid tax to fill his tank.&amp;#160; Let eco-Darwinism prevail.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/joefuture/SJyARr9sviI/AAAAAAAAAFc/TAZMx3nctAg/s1600-h/hybrid_jerk%5B3%5D.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="484" alt="hybrid_jerk" src="http://lh3.ggpht.com/joefuture/SJyATPtW6yI/AAAAAAAAAFg/_jqOy-L1mhw/hybrid_jerk_thumb%5B1%5D.jpg?imgmax=800" width="644" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A big thanks to Ed for the photo!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-1786875388954736300?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/1786875388954736300/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=1786875388954736300" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/1786875388954736300?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/1786875388954736300?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/08/hybrid-jerk-battling-ignorance-and.html" title="Hybrid Jerk - Battling Ignorance and Arrogance in the Eco Age" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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://lh3.ggpht.com/joefuture/SJyATPtW6yI/AAAAAAAAAFg/_jqOy-L1mhw/s72-c/hybrid_jerk_thumb%5B1%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>2</thr:total></entry><entry gd:etag="W/&quot;DUQCRXc9eyp7ImA9WxdbEUg.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-2778586329829169936</id><published>2008-08-07T18:02:00.001-07:00</published><updated>2008-08-07T18:02:44.963-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-07T18:02:44.963-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hypermiling" /><category scheme="http://www.blogger.com/atom/ns#" term="blogroll" /><title>Blogroll: Hypermiler</title><content type="html">&lt;p&gt;I'd like to give a nod to a new blog on hypermiling, appropriately titled &amp;quot;&lt;a href="http://www.hypermiler.ws" target="_blank"&gt;Hypermiler&lt;/a&gt;&amp;quot;.&amp;#160; I didn't see an RSS feed link on the site, but a little auto-discover turned it up &lt;a href="http://www.hypermiler.ws/feed/" target="_blank"&gt;here&lt;/a&gt;.&amp;#160; So point your browser in their direction for a regular dose of hypermiling tips, tricks, news, and videos.&amp;#160; I'm looking forward to some great inspiration from this site!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-2778586329829169936?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/2778586329829169936/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=2778586329829169936" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2778586329829169936?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2778586329829169936?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/08/blogroll-hypermiler.html" title="Blogroll: Hypermiler" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;Ak4FRHg9cCp7ImA9WxdbEE8.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-2394119296410826312</id><published>2008-08-06T06:20:00.001-07:00</published><updated>2008-08-06T06:21:55.668-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-06T06:21:55.668-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hypermiling" /><category scheme="http://www.blogger.com/atom/ns#" term="honda civic hybrid" /><title>Spreading the Hypermiling Word</title><content type="html">&lt;p&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="180" alt="PIC-0058" src="http://lh3.ggpht.com/joefuture/SJmlIYGkl8I/AAAAAAAAAFY/SrzHYY49LEA/PIC-0058%5B8%5D.jpg?imgmax=800" width="240" border="0" /&gt; &lt;/p&gt;  &lt;p&gt;My new &lt;a href="http://joefuture.blogspot.com/2008/04/vote-for-my-vanity-plate.html"&gt;vanity plate&lt;/a&gt; arrived yesterday.&amp;#160; Hopefully now those irate tailgaters will understand they're dealing with someone who is dedicated to better MPG.&amp;#160; If you see me on the road, give a honk!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-2394119296410826312?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/2394119296410826312/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=2394119296410826312" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2394119296410826312?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2394119296410826312?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/08/spreading-hypermiling-word.html" title="Spreading the Hypermiling Word" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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://lh3.ggpht.com/joefuture/SJmlIYGkl8I/AAAAAAAAAFY/SrzHYY49LEA/s72-c/PIC-0058%5B8%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>1</thr:total></entry><entry gd:etag="W/&quot;C08ARHc-fip7ImA9WxdUGUU.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-2442118074160331723</id><published>2008-08-05T17:17:00.001-07:00</published><updated>2008-08-05T17:17:25.956-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-05T17:17:25.956-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile apps" /><category scheme="http://www.blogger.com/atom/ns#" term="Twitter" /><title>Twitula for Windows Mobile</title><content type="html">&lt;p&gt;Kudos to Kevin Daly for &lt;a href="http://www.pocketpcthoughts.com/news/show/90173/twitula-for-windows-mobile-professional-a-mobile-twitter-client.html"&gt;coverage&lt;/a&gt; of his &lt;a href="http://www.kevdaly.co.nz/Software/Twitter/Twitula.aspx"&gt;Twitula&lt;/a&gt; Windows Mobile Twitter client on PocketPCThoughts today!&amp;#160; I've been a big fan of Kevin's work ever since the early builds of &lt;a href="http://www.kevdaly.co.nz/Software/Blogging/Diarist.aspx"&gt;Diarist&lt;/a&gt;, and Twitula continues the excellence!&amp;#160; If you're in the Twitterati and aren't using Twitula, you're definitely missing out on a great app.&lt;/p&gt;  &lt;p&gt;I'll be reviewing the Smartphone version in the next couple of weeks.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-2442118074160331723?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/2442118074160331723/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=2442118074160331723" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2442118074160331723?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2442118074160331723?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/08/twitula-for-windows-mobile.html" title="Twitula for Windows Mobile" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;DkcMRXk9eip7ImA9WxdUGUU.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-1928508618804473135</id><published>2008-08-05T17:07:00.001-07:00</published><updated>2008-08-05T17:54:44.762-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-05T17:54:44.762-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="misc" /><title>Where to buy a Stormtrooper costume</title><content type="html">&lt;p&gt;I've wanted one of these ever since I saw Star Wars in the theater as a kid.&amp;#160; Until now, I've never seen one for sale!&amp;#160; Unfortunately, the &lt;a href="http://www.buystarwarscostumes.com/authentic-stormtrooper-costume.html"&gt;$899 authentic replica costume&lt;/a&gt; is currently out of stock.&amp;#160; Good thing the same costume is only &lt;a href="http://cgi.ebay.com/STORMTROOPER-COSTUME-RUBIES-SUPREME-EDITION-STANDARD_W0QQitemZ160268299733QQihZ006QQcategoryZ154QQcmdZViewItem"&gt;$595 on eBay&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.buystarwarscostumes.com/authentic-stormtrooper-costume.html"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="240" alt="authentic-stormtrooper-cost" src="http://lh4.ggpht.com/joefuture/SJjrVK13E-I/AAAAAAAAAFU/SI3qQkjsnik/authentic-stormtrooper-cost%5B6%5D.jpg?imgmax=800" width="151" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you're interested in &lt;a href="http://www.studiocreations.com/howto/stormtrooper/index.html"&gt;making your own&lt;/a&gt;, you can study up on the multiple varieties &lt;a href="http://web.ukonline.co.uk/bingo275/realstormprops.htm"&gt;here&lt;/a&gt;.&amp;#160; Little did I know there were so many &lt;a href="http://www.501stlegion.org/members/garrisonroster.php?garrisonId=39"&gt;Stormtroopers living among us&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-1928508618804473135?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/1928508618804473135/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=1928508618804473135" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/1928508618804473135?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/1928508618804473135?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/08/where-to-buy-stormtrooper-costume.html" title="Where to buy a Stormtrooper costume" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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://lh4.ggpht.com/joefuture/SJjrVK13E-I/AAAAAAAAAFU/SI3qQkjsnik/s72-c/authentic-stormtrooper-cost%5B6%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;C0ICSX04fip7ImA9WxdUF04.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-3218028837077525553</id><published>2008-08-02T19:46:00.001-07:00</published><updated>2008-08-02T19:46:08.336-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-02T19:46:08.336-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Live Mesh" /><title>LiveMesh rocks!</title><content type="html">&lt;p&gt;I've been playing around with Live Mesh Tech Preview a bit lately, and I'm becoming more and more of a fan.&amp;#160; If you haven't seen the service yet, check it out at &lt;a href="http://mesh.com"&gt;mesh.com&lt;/a&gt;.&amp;#160; In a nutshell, Live Mesh provides you with 5GB of online storage, will automatically synchronize folders between your PCs (and soon Macs and cellphones, apparently), and even features a remote desktop service you can use to easily connect to your home PC from work.&amp;#160; You can also invite other Live members to co-own folders.&amp;#160; My wife and I are using this to share a calendar and some budget spreadsheets between our computers.&lt;/p&gt;  &lt;p&gt;No telling when the native app for Windows Mobile devices will be available, but for now you can access your files in shared folders by pointing your mobile browser to &lt;a href="http://m.mesh.com"&gt;http://m.mesh.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Follow Live Mesh updates and new developments at the &lt;a href="http://blogs.msdn.com/livemesh/"&gt;Live Mesh Team Blog&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-3218028837077525553?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/3218028837077525553/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=3218028837077525553" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/3218028837077525553?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/3218028837077525553?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/08/livemesh-rocks.html" title="LiveMesh rocks!" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;C0MDQHw8cCp7ImA9WxRTFEw.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-7360750367478304287</id><published>2008-08-01T10:25:00.000-07:00</published><updated>2008-09-02T20:11:11.278-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-02T20:11:11.278-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="mobile apps" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile" /><title>What's on my Smartphone</title><content type="html">&lt;p&gt;I'll keep this post updated with the list of apps I have running on my smartphone (currently a Samsung Blackjack II)&lt;/p&gt;  &lt;p&gt;As of 9-2-2008, my phone is running:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.coreplayer.com/"&gt;CorePlayer&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a target="_blank" href="http://www.modaco.com/content/Smartphone-Standard-News/262074/Samsung-Blackjack-II-GPS-ACTIVATED/"&gt;MoDaCo GPS Activator&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a target="_blank" href="http://www.newsgator.com/Individuals/NewsGatorGo/Default.aspx"&gt;NewsGator Go!&lt;/a&gt; (&lt;a target="_blank" href="http://joefuture.blogspot.com/2008/03/what-on-my-blackjack-newsgator-go.html"&gt;read my review&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;&lt;a target="_blank" href="http://www.phatware.com/index.php?q=product/details/phatnotes"&gt;PhatWare PhatNotes&lt;/a&gt; (&lt;a href="http://joefuture.blogspot.com/2008/09/what-on-my-blackjack-phatnotes.html"&gt;read my review&lt;/a&gt;)&lt;/li&gt;    &lt;li&gt;&lt;a target="_blank" href="http://www.soti.net/default.asp?Cmd=Products&amp;amp;SubCmd=PCPro"&gt;SOTI Pocket Controller Pro&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a target="_blank" href="http://www.splashdata.com/splashmoney/index.htm"&gt;SplashData SplashMoney&lt;/a&gt; &lt;a href="http://joefuture.blogspot.com/2008/04/what-on-my-blackjack-splashmoney.html"&gt;(read my review)&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a target="_blank" href="http://tinytwitter.com"&gt;TinyTwitter&lt;/a&gt; (&lt;a target="_blank" href="http://joefuture.blogspot.com/2008/03/what-on-my-blackjack-tinytwitter.html"&gt;read my review&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;&lt;a target="_blank" href="http://www.gowindowslive.com/Mobile/Landing/Search/Default.aspx?Locale=en-US"&gt;Windows Live Search&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://forum.xda-developers.com/showthread.php?p=2469071"&gt;Resume PlugIn for Windows Media Player&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://joefuture.blogspot.com/2008/04/enabling-internet-sharing-on-blackjack.html"&gt;Internet Connection Sharing&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.realdice.com/poker"&gt;RealDice Multiplayer Texas Hold'em Poker&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://qik.com"&gt;Qik&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://ars.samsung.com/customer/usa/jsp/faqs/faqs_view.jsp?SITE_ID=22&amp;amp;PG_ID=557&amp;amp;PROD_SUB_ID=558&amp;amp;PROD_ID=957&amp;amp;AT_ID=132707"&gt;Samsung Blackjack II WM6.1 upgrade&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;What other &amp;quot;must have&amp;quot; apps do you suggest I try?&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Updates:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;9-2-2008:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;added link to PhatNotes review&lt;/li&gt;      &lt;li&gt;added link to WM6.1 upgrade&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;8-1-2008:      &lt;ul&gt;       &lt;li&gt;added Qik &lt;/li&gt;        &lt;li&gt;added Internet Connection Sharing &lt;/li&gt;        &lt;li&gt;added RealDice Multiplayer Texas Hold'em Poker &lt;/li&gt;        &lt;li&gt;removed SplashNotes &lt;/li&gt;        &lt;li&gt;removed PhatSketch &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;4-10-2008:&amp;#160; added CorePlayer &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-7360750367478304287?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/7360750367478304287/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=7360750367478304287" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7360750367478304287?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/7360750367478304287?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/04/what-on-my-smartphone.html" title="What&amp;#39;s on my Smartphone" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;C0EBSHo9cCp7ImA9WxdUFUg.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-2835945003630507487</id><published>2008-07-31T17:47:00.001-07:00</published><updated>2008-07-31T17:47:39.468-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-31T17:47:39.468-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><title>A brave new world</title><content type="html">&lt;p&gt;This kind of thing may be old news to some of you, but I still find it really cool.&amp;#160; I'm living a geek moment right now and just felt compelled to share.&lt;/p&gt;  &lt;p&gt;I'm hanging out in a coffee house tonight to get some work done.&amp;#160; Vista easily connected to the wireless network they have, but unfortunately for me the network wouldn't support connecting over a private VPN to my corporate network.&amp;#160; &lt;/p&gt;  &lt;p&gt;Luckily, I have my trusty Blackjack II with Internet Connection Sharing &lt;a href="http://joefuture.blogspot.com/2008/04/enabling-internet-sharing-on-blackjack.html"&gt;enabled&lt;/a&gt; (along with an unlimited data plan that includes tethering, by the way).&amp;#160; I disabled the WiFi connection, connected my phone to my laptop via a USB cable, configured ICS, connected to my VPN and whammo - I'm online!&lt;/p&gt;  &lt;p&gt;On top of all that, I'm connecting to a virtual copy of Windows Server 2003 running on a Hyper-V virtual machine.&amp;#160; So in addition to running on a &amp;quot;virtual&amp;quot; network, I'm connected to a virtual PC.&amp;#160; It's virtually the same as a &amp;quot;real&amp;quot; connection to a &amp;quot;real&amp;quot; PC.&lt;/p&gt;  &lt;p&gt;Ain't technology great?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-2835945003630507487?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/2835945003630507487/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=2835945003630507487" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2835945003630507487?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2835945003630507487?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/07/brave-new-world.html" title="A brave new world" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;CkIFR3o9cSp7ImA9WxdUE0U.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-2121025306872360412</id><published>2008-07-29T18:15:00.001-07:00</published><updated>2008-07-29T18:15:16.469-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-29T18:15:16.469-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="hypermiling" /><category scheme="http://www.blogger.com/atom/ns#" term="Qik" /><title>More Qik fun</title><content type="html">&lt;p&gt;I created 2 new groups on Qik today: one for Hypermilers and the other for Chapel Hill goings on.&amp;#160; If you're hypermiling and Qik'ing, post a video of your tips &amp;amp; techniques to the &lt;a href="http://qik.com/groups/206"&gt;Hypermilers group&lt;/a&gt;.&amp;#160; If you live in/around Chapel Hill (or perhaps just visiting), post videos to the &lt;a href="http://qik.com/groups/207"&gt;Chapel Hill group&lt;/a&gt;.&amp;#160; See you on Qik!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-2121025306872360412?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/2121025306872360412/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=2121025306872360412" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2121025306872360412?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/2121025306872360412?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/07/more-qik-fun.html" title="More Qik fun" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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 gd:etag="W/&quot;Ak8CQHk-eip7ImA9WxdUE0o.&quot;"><id>tag:blogger.com,1999:blog-1247372807677456119.post-4663443125282862756</id><published>2008-07-29T04:06:00.001-07:00</published><updated>2008-07-29T17:47:41.752-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-29T17:47:41.752-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reviews" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile apps" /><category scheme="http://www.blogger.com/atom/ns#" term="Qik" /><category scheme="http://www.blogger.com/atom/ns#" term="Blackjack II" /><category scheme="http://www.blogger.com/atom/ns#" term="Twitter" /><title>Qik - Stream Video From Your Phone</title><content type="html">&lt;p&gt;&lt;a href="http://qik.com"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="95" alt="qik" src="http://lh3.ggpht.com/joefuture/SI75sAqYmBI/AAAAAAAAAFQ/cbMgQlDWxjU/qik%5B4%5D.jpg?imgmax=800" width="179" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I just downloaded and installed the public beta release of Qik, an app &amp;amp; service that makes it easy to stream live video from your mobile phone to the web.&amp;#160; I've only played with it for a short time, but it's so great I felt compelled to share my initial thoughts.&amp;#160; &lt;/p&gt;  &lt;p&gt;Here's what I like about Qik:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;It's incredibly easy to use - 1 click, and you're streaming video! &lt;/li&gt;    &lt;li&gt;Super fast load time - faster than the camera app on the Blackjack II &lt;/li&gt;    &lt;li&gt;Painless integration with other popular services like Twitter, Blogger, Facebook, etc. &lt;/li&gt;    &lt;li&gt;Everyone gets a Qik &amp;quot;homepage&amp;quot; where all your videos are stored &lt;/li&gt;    &lt;li&gt;It's free!&amp;#160; (at least for now!) &lt;/li&gt;    &lt;li&gt;Videos can be embedded or linked to in blog posts &lt;/li&gt;    &lt;li&gt;They're building a nice community at Qik.com &lt;/li&gt;    &lt;li&gt;Video quality is dialable, but very good from initial tests.&amp;#160; It will be interesting to see if this changes as the service gains in popularity. &lt;/li&gt;    &lt;li&gt;Lots of convenient &amp;quot;hotkeys&amp;quot; - e.g. press &amp;quot;55&amp;quot; to blog your stream while recording &lt;/li&gt;    &lt;li&gt;Streams are shown live on Qik.com and then archived for viewing later &lt;/li&gt;    &lt;li&gt;You can make your videos public or private to your circle of friends &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;And of course, my inevitable wishlist:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Qik website should be browse-able by mobile phones, or maybe the Qik streaming application could have a mode to enumerate and view my videos &lt;/li&gt;    &lt;li&gt;Geotagging - For phones with GPS/GPRS, it would be very cool to enable geo-tagging of content &amp;amp; storing a location point (or stream of points) with the videos &lt;/li&gt;    &lt;li&gt;Keep it free! &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The implications of this kind of service are profound.&amp;#160; Now &lt;em&gt;anyone&lt;/em&gt; can be a live mobile reporter.&amp;#160; Broadcast your kids' soccer games to the grandparents 5 states away, when you're in an accident, record the bozo speeding away after refusing to give you his insurance information, alert your town to the approaching tornado (assuming it doesn't take out the cell towers)... the possibilities are endless!&lt;/p&gt;  &lt;p&gt;Qik supports a range of mobile phones, but not all.&amp;#160; Check their &lt;a href="http://qik.com/sign_up"&gt;supported phone list&lt;/a&gt; to see if yours is on there.&amp;#160; You can &lt;a href="http://qik.com/sign_up"&gt;sign up&lt;/a&gt; for the free public beta today!&amp;#160; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1247372807677456119-4663443125282862756?l=joefuture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://joefuture.blogspot.com/feeds/4663443125282862756/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=1247372807677456119&amp;postID=4663443125282862756" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4663443125282862756?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1247372807677456119/posts/default/4663443125282862756?v=2" /><link rel="alternate" type="text/html" href="http://joefuture.blogspot.com/2008/07/qik-stream-video-from-your-phone.html" title="Qik - Stream Video From Your Phone" /><author><name>Joe Future</name><uri>http://www.blogger.com/profile/16329905498920536110</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://lh3.ggpht.com/joefuture/SI75sAqYmBI/AAAAAAAAAFQ/cbMgQlDWxjU/s72-c/qik%5B4%5D.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total></entry></feed>

