<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Jake&#039;s Blog</title>
	<atom:link href="https://jacob.steenhagen.us/blog/feed/" rel="self" type="application/rss+xml" />
	<link>https://jacob.steenhagen.us/blog</link>
	<description>jacob.steenhagen.us</description>
	<lastBuildDate>Thu, 11 Feb 2016 19:12:28 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.8</generator>
<site xmlns="com-wordpress:feed-additions:1">1824864</site>	<item>
		<title>Live Demo of Captive Portal Design</title>
		<link>https://jacob.steenhagen.us/blog/2016/02/live-demo-captive-portal-design/</link>
					<comments>https://jacob.steenhagen.us/blog/2016/02/live-demo-captive-portal-design/#respond</comments>
		
		<dc:creator><![CDATA[Jake]]></dc:creator>
		<pubDate>Thu, 11 Feb 2016 17:13:39 +0000</pubDate>
				<category><![CDATA[Aruba Wireless]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[network administration]]></category>
		<guid isPermaLink="false">https://jacob.steenhagen.us/blog/?p=337</guid>

					<description><![CDATA[In my previous post, I showed a very simple design for an Aruba captive portal that is usable on small handheld screens (like a cell phones) as well as full size browser windows. In this post, I had directly pasted the HTML code (with embedded CSS). This actually had a couple of drawbacks. First, WordPress &#8230; <p class="link-more"><a href="https://jacob.steenhagen.us/blog/2016/02/live-demo-captive-portal-design/" class="more-link">Continue reading<span class="screen-reader-text"> "Live Demo of Captive Portal Design"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" src="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2016/02/aruba-portal-ipad.png?resize=300%2C225&#038;ssl=1" alt="Aruba Portal on an iPad" width="300" height="225" style="float:left; margin-right: 20px; margin-bottom: 5px;" data-recalc-dims="1" />In <a href="https://jacob.steenhagen.us/blog/2016/02/simple-responsive-design-for-aruba-captive-portal/">my previous post</a>, I showed a very simple design for an Aruba captive portal that is usable on small handheld screens (like a cell phones) as well as full size browser windows. In this post, I had directly pasted the HTML code (with embedded CSS). This actually had a couple of drawbacks. First, WordPress didn&#8217;t really handle the code very well. Part of the reason I pasted it right in the post was to have the code stylized by <abbr title="Generic Syntax Highlighter">GeSHi</abbr>. Unfortunately, GeSHi didn&#8217;t properly highlight the CSS. This also ended up making the post really long and there&#8217;s at least a few places where it mutilated the code. And second, embedding the code in a WordPress post also had the drawback that you couldn&#8217;t see how the page looked other than in my screenshots.</p>
<p>So I&#8217;ve now uploaded the code as a normal webpage. You can <a onclick="window.open('https://jacob.steenhagen.us/captive/', '', 'resizable=yes,scrollbars=yes,width=480, height=500'); return false" href="https://jacob.steenhagen.us/captive/">view it in a window sized like a phone screen [<i>Pops up new window</i>]</a>. Once this window opens, you should be able to resize it in order to see how the page will look at different screen/browser sizes. Or you could <a href="https://jacob.steenhagen.us/captive/">view it in your current browser window</a> (if you&#8217;d like to download the HTML, you should be able to right-click the link to get an option from your browser to save the target).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jacob.steenhagen.us/blog/2016/02/live-demo-captive-portal-design/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">337</post-id>	</item>
		<item>
		<title>Simple Responsive Design for Aruba Captive Portal</title>
		<link>https://jacob.steenhagen.us/blog/2016/02/simple-responsive-design-for-aruba-captive-portal/</link>
					<comments>https://jacob.steenhagen.us/blog/2016/02/simple-responsive-design-for-aruba-captive-portal/#respond</comments>
		
		<dc:creator><![CDATA[Jake]]></dc:creator>
		<pubDate>Sat, 06 Feb 2016 21:30:48 +0000</pubDate>
				<category><![CDATA[Aruba Wireless]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[network administration]]></category>
		<guid isPermaLink="false">https://jacob.steenhagen.us/blog/?p=301</guid>

					<description><![CDATA[At work, we have an Aruba wireless system. This system has the ability to have multiple SSID&#8217;s available. One of those SSID&#8217;s is for guest access. We require that every guest has a username and password to access our wi-fi system. This requires a captive portal. Aruba supports these captive portals quite nicely, but their &#8230; <p class="link-more"><a href="https://jacob.steenhagen.us/blog/2016/02/simple-responsive-design-for-aruba-captive-portal/" class="more-link">Continue reading<span class="screen-reader-text"> "Simple Responsive Design for Aruba Captive Portal"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>At work, we have an Aruba wireless system. This system has the ability to have multiple SSID&#8217;s available. One of those SSID&#8217;s is for guest access. We require that every guest has a username and password to access our wi-fi system. This requires a captive portal. Aruba supports these captive portals quite nicely, but their authentication pages leave a lot to be desired. I recently spent some time searching Google for some sample templates that work well on cell phones, tablets and computers. While I did find some information it was mostly vague information (yes, it&#8217;s possible) or based on using other web design templates and uploading the necessary files.</p>
<p>This isn&#8217;t what I wanted. I really just wanted a very simple page that had a login form and our Usage Policy (not a link to it, the actual policy on the page). If it was on a tablet or a PC, I wanted them to use the screen real-estate to show them both side by side. If it was on a phone, they should be stacked to avoid zooming. I couldn&#8217;t find anything that did quite what I wanted, so I wrote my own. Just in case there&#8217;s somebody else looking, I decided to post it here.</p>
<p>First, a screenshot of how it looks on an iPhone 6:<br />
<img decoding="async" src="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2016/02/aruba-portal-iphone.png?resize=250%2C445&#038;ssl=1" alt="Aruba Portal on an iPhone" width="250" height="445" data-recalc-dims="1" /></p>
<p>And an iPad:<br />
<img decoding="async" src="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2016/02/aruba-portal-ipad.png?resize=525%2C394&#038;ssl=1" alt="Aruba Portal on an iPad" width="525" height="394" data-recalc-dims="1" /></p>
<p>There are actually two more &#8220;modes&#8221; not pictured here. They are both only applicable to being displayed on a computer.</p>
<p>There is one mode that is in between phone and tablet size. The only time it should be used is if somebody opens a very small browser window. It condenses the login form to take less horizontal space, but still keeps the policy text to the right of the page.</p>
<p>The second mode is for a very large web browser windows (more than 1,200 pixels). This mode simply keeps the max width at 1,200 pixels and displays nothing to the right of that boundary.</p>
<p>The magic in all of this are the <code>@media</code> CSS queries. These media queries are a function of CSS3 and are not supported on older browsers such as IE 8 (the most recent version available on Windows XP). Because of this, I put most of the style (colors, borders, etc) outside of the media queries and then shifted items around using the media queries. The page may not respond exactly as it&#8217;s supposed to in older browsers (for example, the items don&#8217;t stack properly when the width drops below 480 pixels in IE8), but the page should still be functional.</p>
<p>The code is available after the break. You are welcome to take this code and modify it for your needs.</p>
<p><b>UPDATE 11-Feb-2016</b>: Instead of embedding the code in this post, I now have a <a href="https://jacob.steenhagen.us/blog/2016/02/live-demo-captive-portal-design/">Live Demo</a> page setup.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jacob.steenhagen.us/blog/2016/02/simple-responsive-design-for-aruba-captive-portal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">301</post-id>	</item>
		<item>
		<title>Loading a Windows 7 User Tile using the picture in Active Directory</title>
		<link>https://jacob.steenhagen.us/blog/2012/02/loading-a-windows-7-user-tile-using-the-picture-in-active-directory/</link>
					<comments>https://jacob.steenhagen.us/blog/2012/02/loading-a-windows-7-user-tile-using-the-picture-in-active-directory/#respond</comments>
		
		<dc:creator><![CDATA[Jake]]></dc:creator>
		<pubDate>Thu, 23 Feb 2012 01:15:08 +0000</pubDate>
				<category><![CDATA[VB.net]]></category>
		<category><![CDATA[active directory]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[network administration]]></category>
		<category><![CDATA[setUserTile]]></category>
		<category><![CDATA[thumbnailPhoto]]></category>
		<category><![CDATA[vb.net]]></category>
		<guid isPermaLink="false">http://jacob.steenhagen.us/blog/?p=227</guid>

					<description><![CDATA[The Explanation Back in 2010 as Microsoft was putting the finishing touches on Office 2010, the Microsoft Exchange team mentioned that it was going to possible to show pictures in Outlook 2010. They also talked about how these pictures could be loaded directly into Active Directory and Outlook would be able to pull them from &#8230; <p class="link-more"><a href="https://jacob.steenhagen.us/blog/2012/02/loading-a-windows-7-user-tile-using-the-picture-in-active-directory/" class="more-link">Continue reading<span class="screen-reader-text"> "Loading a Windows 7 User Tile using the picture in Active Directory"</span></a></p>]]></description>
										<content:encoded><![CDATA[<h2>The Explanation</h2>
<p>Back in 2010 as Microsoft was putting the finishing touches on Office 2010, the <a href="http://blogs.technet.com/b/exchange/archive/2010/03/10/3409495.aspx">Microsoft Exchange team mentioned</a> that it was going to possible to show pictures in Outlook 2010. They also talked about how these pictures could be loaded directly into Active Directory and Outlook would be able to pull them from the directory. It didn&#8217;t take me long to make the required schema change on our network at work and load a few pictures in for testing. Once I updated our system to support Windows 2008 domain controllers, the display of pictures in the beta version of Outlook started working perfectly.</p>
<p>Even before I got the picture display to work in Outlook, I started wondering if it would be possible to make Windows 7 automatically load those pictures for its User Tile (I actually even asked the question on the blog post by the MS Exchange Team). It seemed that this wasn&#8217;t possible. Supposedly the fact that this was desired was passed on to the Windows team, but even after Windows 7 SP1 came out there didn&#8217;t seem to be any official support for this feature. And as far as I can tell, none is forthcoming.</p>
<p>The other day, I happened across <a href="http://joco.name/2010/12/06/i-discovered-the-new-windows-user-tile-api/">a post by a guy named Joco</a> where he detailed an undocumented API in Windows 7 that sets the User Tile. He also included some sample C# code that you can execute with command line arguments for the username and the picture location. However, I want to load the pictures directly from AD and I&#8217;ve done most of my &#8220;programming&#8221; in Visual Basic, not C#. So, I took his sample code, translated the API declaration to VB and added some code to retrieve the picture from Active Directory.</p>
<h2>The Executable File</h2>
<p>For simplicity, I&#8217;m providing an executable file already compiled against .Net 3.5 (which comes with Windows 7). This executable is signed by a <a href="https://cacert.org">CA Cert</a> code signing certificate. If you do not have their root certificates installed, Windows will tell you that it&#8217;s an invalid signature.</p>
<ul>
<li>
<a href='http://jacob.steenhagen.us/blog/2012/02/loading-a-windows-7-user-tile-using-the-picture-in-active-directory/setusertile/' rel='attachment wp-att-248'>setUserTile.exe</a>
</li>
</ul>
<p>To use this file, it can be simply be run by the user. You can launch this automatically as part of a login script (which is how I use it). The logic script application I use also allows me to hide any output so the DOS box never gets seen by our users.</p>
<p><b>Note</b>: The <a href="http://www.iconarchive.com/show/eko-folders-icons-by-kyo-tux/User-icon.html">icon used in this executable</a> is licensed under the <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">CC Attribution-Noncommercial-Share Alike 3.0</a> license. I&#8217;m open to using a different icon if I can find one a little more representative of what the program is doing.</p>
<p>Source code and some basic directions for using it can be found after the break.</p>
<p><span id="more-227"></span></p>
<h2>The VB.net Code</h2>
<p>This code was written using the free <a href="http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-basic-express">Visual Basic 2010 Express</a>. Once you have that installed, you can create a new Console Application named &#8220;setUserTile&#8221;.<br />
<a href="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_new_console_application.png"><img loading="lazy" decoding="async" src="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_new_console_application.png?resize=300%2C141&#038;ssl=1" alt="" title="setUserTile_new_console_application" width="300" height="141" class="alignnone size-medium wp-image-241" srcset="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_new_console_application.png?resize=300%2C141&amp;ssl=1 300w, https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_new_console_application.png?w=958&amp;ssl=1 958w" sizes="(max-width: 300px) 100vw, 300px" data-recalc-dims="1" /></a></p>
<p>From the &#8220;Project&#8221; menu, select &#8220;Add Reference&#8230;&#8221;<br />
<a href="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_project_menu.png"><img loading="lazy" decoding="async" src="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_project_menu.png?resize=300%2C214&#038;ssl=1" alt="" title="setUserTile_project_menu" width="300" height="214" class="alignnone size-medium wp-image-243" srcset="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_project_menu.png?resize=300%2C214&amp;ssl=1 300w, https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_project_menu.png?w=440&amp;ssl=1 440w" sizes="(max-width: 300px) 100vw, 300px" data-recalc-dims="1" /></a></p>
<p>And add a reference to both &#8220;System.DirectoryServices&#8221; and &#8220;System.DirectoryServices.AccountManagement&#8221;.<br />
<a href="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_add_reference.png"><img loading="lazy" decoding="async" src="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_add_reference.png?resize=300%2C238&#038;ssl=1" alt="" title="setUserTile_add_reference" width="300" height="238" class="alignnone size-medium wp-image-244" srcset="https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_add_reference.png?resize=300%2C238&amp;ssl=1 300w, https://i0.wp.com/jacob.steenhagen.us/blog/wp-content/uploads/2012/02/setUserTile_add_reference.png?w=561&amp;ssl=1 561w" sizes="(max-width: 300px) 100vw, 300px" data-recalc-dims="1" /></a></p>
<p><b>NOTE</b>: You may also wish to change the version of .Net for this application to 3.5, which is the version that ships with Windows 7. If you leave it at 4.0 (the default for VB.Net 2010) the application will only be able to run on systems that have installed v4.0 of the .Net framework.</p>


<div class="wp-geshi-highlight-wrap5"><div class="wp-geshi-highlight-wrap4"><div class="wp-geshi-highlight-wrap3"><div class="wp-geshi-highlight-wrap2"><div class="wp-geshi-highlight-wrap"><div class="wp-geshi-highlight"><div class="vbnet"><pre class="de1"><span class="kw1">Module</span> setUserTile
    <span class="co1">' Undocumented API learned from http://joco.name/2010/12/06/i-discovered-the-new-windows-user-tile-api/</span>
    <span class="sy0">&lt;</span>system <span class="sy0">.</span><span class="me1">Runtime</span><span class="sy0">.</span><span class="me1">InteropServices</span><span class="sy0">.</span><span class="me1">DllImport</span><span class="br0">&#40;</span><span class="st0">&quot;shell32.dll&quot;</span>, EntryPoint:<span class="sy0">=</span><span class="st0">&quot;#262&quot;</span>, CharSet:<span class="sy0">=</span>Runtime<span class="sy0">.</span><span class="me1">InteropServices</span><span class="sy0">.</span><span class="me1">CharSet</span><span class="sy0">.</span><span class="me1">Unicode</span>, PreserveSig:<span class="sy0">=</span><span class="kw1">False</span><span class="br0">&#41;</span><span class="sy0">&gt;</span> _
    <span class="kw1">Private</span> <span class="kw1">Sub</span> SetUserTile<span class="br0">&#40;</span><span class="kw1">ByVal</span> strUserName <span class="kw1">As</span> <span class="kw2">String</span>, <span class="kw1">ByVal</span> intWhatever <span class="kw1">As</span> <span class="kw2">Integer</span>, <span class="kw1">ByVal</span> strPicPath <span class="kw1">As</span> <span class="kw2">String</span><span class="br0">&#41;</span>
        <span class="co1">' This is just to fool WordPress which thinks it's being helpful &lt;/system&gt;</span>
    <span class="kw1">End</span> <span class="kw1">Sub</span>
&nbsp;
    <span class="kw1">Sub</span> Main<span class="br0">&#40;</span><span class="br0">&#41;</span>
        <span class="kw1">Dim</span> strUser <span class="kw1">As</span> <span class="kw2">String</span>
        <span class="kw1">Dim</span> currentADUser <span class="kw1">As</span> System<span class="sy0">.</span><span class="me1">DirectoryServices</span><span class="sy0">.</span><span class="me1">AccountManagement</span><span class="sy0">.</span><span class="me1">UserPrincipal</span>
        <span class="kw1">Dim</span> de <span class="kw1">As</span> System<span class="sy0">.</span><span class="me1">DirectoryServices</span><span class="sy0">.</span><span class="me1">DirectoryEntry</span>
        <span class="kw1">Dim</span> b<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="kw1">As</span> <span class="kw2">Byte</span>
        <span class="kw1">Dim</span> strTempFile <span class="kw1">As</span> <span class="kw2">String</span>
        <span class="kw1">Dim</span> stream <span class="kw1">As</span> System<span class="sy0">.</span><span class="me1">IO</span><span class="sy0">.</span><span class="me1">FileStream</span>
&nbsp;
        <span class="kw1">Try</span>
&nbsp;
            <span class="co1">' The WindowsIdenty object can retrieve the current username (with domain), but not the AD Object</span>
            <span class="co1">' The &quot;AccountManagement&quot; object can retrieve the current user, but not the thumbnailPhoto</span>
            <span class="co1">' The &quot;DirectoryEntry&quot; object can retrieve the thumbnailPhoto, but not the current user</span>
            <span class="co1">' So we use all three objects...</span>
            <span class="co1">'     The WindowsIdentity object to pass the full domain\username string to our API</span>
            <span class="co1">'     And the &quot;AccountManagement&quot; object to tell the &quot;DirectoryEntry&quot; object which user to get the photo for</span>
            strUser <span class="sy0">=</span> System<span class="sy0">.</span><span class="me1">Security</span><span class="sy0">.</span><span class="me1">Principal</span><span class="sy0">.</span><span class="me1">WindowsIdentity</span><span class="sy0">.</span><span class="me1">GetCurrent</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="me1">Name</span>
            currentADUser <span class="sy0">=</span> System<span class="sy0">.</span><span class="me1">DirectoryServices</span><span class="sy0">.</span><span class="me1">AccountManagement</span><span class="sy0">.</span><span class="me1">UserPrincipal</span><span class="sy0">.</span><span class="me1">Current</span>
            de <span class="sy0">=</span> <span class="kw1">New</span> System<span class="sy0">.</span><span class="me1">DirectoryServices</span><span class="sy0">.</span><span class="me1">DirectoryEntry</span><span class="br0">&#40;</span><span class="st0">&quot;LDAP://&quot;</span> <span class="sy0">+</span> currentADUser<span class="sy0">.</span><span class="me1">DistinguishedName</span><span class="br0">&#41;</span>
&nbsp;
            b <span class="sy0">=</span> de<span class="sy0">.</span><span class="me1">Properties</span><span class="br0">&#40;</span><span class="st0">&quot;thumbnailPhoto&quot;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="me1">Value</span>
            <span class="kw1">If</span> b <span class="kw1">IsNot</span> <span class="kw1">Nothing</span> <span class="kw1">Then</span>
                <span class="co1">' We've got a picture... save it to %TEMP% ...</span>
                strTempFile <span class="sy0">=</span> System<span class="sy0">.</span><span class="me1">IO</span><span class="sy0">.</span><span class="me1">Path</span><span class="sy0">.</span><span class="me1">GetTempFileName</span>
                stream <span class="sy0">=</span> <span class="kw1">New</span> System<span class="sy0">.</span><span class="me1">IO</span><span class="sy0">.</span><span class="me1">FileStream</span><span class="br0">&#40;</span>strTempFile, System<span class="sy0">.</span><span class="me1">IO</span><span class="sy0">.</span><span class="me1">FileMode</span><span class="sy0">.</span><span class="me1">Create</span><span class="br0">&#41;</span>
                stream<span class="sy0">.</span><span class="me1">Write</span><span class="br0">&#40;</span>b, <span class="nu0">0</span>, b<span class="sy0">.</span><span class="me1">Length</span><span class="br0">&#41;</span>
                stream<span class="sy0">.</span><span class="kw7">Close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>
                <span class="co1">' ... call our API ...</span>
                SetUserTile<span class="br0">&#40;</span>strUser, <span class="nu0">0</span>, strTempFile<span class="br0">&#41;</span>
                <span class="co1">' ... and delete the temporary file.</span>
                System<span class="sy0">.</span><span class="me1">IO</span><span class="sy0">.</span><span class="me1">File</span><span class="sy0">.</span><span class="me1">Delete</span><span class="br0">&#40;</span>strTempFile<span class="br0">&#41;</span>
            <span class="kw1">End</span> <span class="kw1">If</span>
        <span class="kw1">Catch</span> ex <span class="kw1">As</span> Exception
            <span class="co1">' Fail silently</span>
        <span class="kw1">End</span> <span class="kw1">Try</span>
    <span class="kw1">End</span> <span class="kw1">Sub</span>
<span class="kw1">End</span> <span class="kw1">Module</span></pre></div></div></div></div></div></div></div>


<p><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img decoding="async" alt="Creative Commons License" style="border-width:0;float:left;margin-right:5px" src="https://i0.wp.com/i.creativecommons.org/l/by-sa/3.0/88x31.png?w=525&#038;ssl=1" data-recalc-dims="1" /></a><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">setUserTile in VB.Net</span> by <a xmlns:cc="http://creativecommons.org/ns#" href="http://jacob.steenhagen.us" property="cc:attributionName" rel="cc:attributionURL">Jacob Steenhagen</a> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.<br style="clear:all" />Based on a work at <a xmlns:dct="http://purl.org/dc/terms/" href="http://joco.name/2010/12/06/i-discovered-the-new-windows-user-tile-api/" rel="dct:source">joco.name</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jacob.steenhagen.us/blog/2012/02/loading-a-windows-7-user-tile-using-the-picture-in-active-directory/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">227</post-id>	</item>
		<item>
		<title>From BlackBerry Pearl 8130 to Palm Pre</title>
		<link>https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/</link>
					<comments>https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#comments</comments>
		
		<dc:creator><![CDATA[Jake]]></dc:creator>
		<pubDate>Thu, 12 Nov 2009 22:51:25 +0000</pubDate>
				<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Palm Pre]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[webOS]]></category>
		<guid isPermaLink="false">http://jacob.steenhagen.us/blog/?p=194</guid>

					<description><![CDATA[As previously mentioned, I recently switched from a BlackBerry Pearl to a Palm Pre. I&#8217;ve been using the Pre for a little more than a month now and figured I put my thoughts about the switch up. I&#8217;ll follow roughly the same format I did when I switched to the BlackBerry. Unlike last time I &#8230; <p class="link-more"><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/" class="more-link">Continue reading<span class="screen-reader-text"> "From BlackBerry Pearl 8130 to Palm Pre"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>As <a href="https://jacob.steenhagen.us/blog/2009/10/got-a-palm-pre/">previously mentioned</a>, I recently switched from a BlackBerry Pearl to a <a href="http://www.amazon.com/gp/product/B002JIO4JY?ie=UTF8&amp;tag=jacsweb-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B002JIO4JY">Palm Pre</a><img loading="lazy" decoding="async" style="border:none !important; margin:0px !important;" src="https://www.assoc-amazon.com/e/ir?t=jacsweb-20&amp;l=as2&amp;o=1&amp;a=B002JIO4JY" border="0" alt="" width="1" height="1" />. I&#8217;ve been using the Pre for a little more than a month now and figured I put my thoughts about the switch up. I&#8217;ll follow roughly the same format I did <a href="https://jacob.steenhagen.us/blog/2008/08/from-ppc-6700-to-blackberry-pearl/">when I switched to the BlackBerry</a>. Unlike last time I did this, I&#8217;ll provide an outline here near the top with links down into the specific sections.</p>
<ul>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#things-i-miss">Things I liked about the BlackBerry that I&#8217;m missing now</a>
<ul>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#sleeper-magnet">Sleeper Magnet</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#voice-command">Voice Command</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#battery-life">Battery Life</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#facebook-application">Facebook Application</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#different-alerts">Different Alerts for Different Events</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#cacheberry">CacheBerry</a></li>
</ul>
</li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#things-i-like">Things I like better about the Pre</a>
<ul>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#polished-os">Polished OS</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#read-status">Read status syncs</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#touch-screen">Usable touch screen</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#calendar">Synergy calendar</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#test-messaging">Chat like text messaging</a></li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#touchstone">Touchstone</a></li>
</ul>
</li>
<li><a href="https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/#summary">Summary</a>
</li>
</ul>
<p><span id="more-194"></span></p>
<p><a name="things-i-miss"></a></p>
<h3><strong>Things I liked about the BlackBerry that I&#8217;m missing now<br />
</strong></h3>
<p>Any time you switch to a new phone, especially if you change platforms, there&#8217;s things you miss about the old one.<br />
<a name="sleeper-magnet"></a></p>
<h4>Sleeper Magnet</h4>
<p>I mentioned how nice this feature was in the post I made when I first got the BlackBerry and I never changed my mind about that. It was so nice to have the phone automatically switch to vibrate mode whenever it was in the holster. If it was in the holster, I wasn&#8217;t as likely to hear it ring but I was much more likely to feel it vibrate. It just kinda made sense. It was also nice walking into a movie theater or Church on Sunday and not having to worry about putting my phone on silent. If it was in the holster, I was good to go. Not a world changer by any stretch, but a nice convenience factor, for sure.<br />
<a name="voice-command"></a></p>
<h4>Voice Command</h4>
<p>When I did my last review, I mentioned that the voice command on Windows Mobile was better than the BlackBerry. When I first got my Windows Mobile phone, it came with a pretty pathetic voice dialing application. It was the old school kind where you had to record voice tags for each contact. Even that was better than the voice command on the Pre&#8230; it doesn&#8217;t have one at all. We can hope that voice command is something they&#8217;ll add in a future OS update.<br />
<a name="battery-life"></a></p>
<h4>Battery Life</h4>
<p>I kind of took a step backward on this one&#8230; but when I went to the BlackBerry I had taken two steps forward. So all told, I&#8217;m still a step ahead of my 6700. I can normally make it through a full day of normal use on the Pre&#8217;s battery. But on my BlackBerry, I could get almost two days of normal use. They sell two different extended life batteries. One that&#8217;s the same size as the stock battery [link to outdated product removed], so it doesn&#8217;t add any extra thickness to the phone while giving a slight power boost, and one that doubles the battery life [link to outdated product removed] but adds about 4mm of thickness to the phone and requires a new back (comes with the battery). I&#8217;m currently still using the stock battery, but we&#8217;ll see what happens as the phone ages.<br />
<a name="facebook-application"></a></p>
<h4>Facebook Application</h4>
<p>I mentioned when I got the BlackBerry how nice it was to have a Facebook Application and how much better it was than <a href="https://m.facebook.com">m.facebook.com</a>. Well, now I&#8217;m back to a phone that doesn&#8217;t have one and I miss it. Sure, there&#8217;s <a href="https://touch.facebook.com">touch.facebook.com</a>, which the phone comes with a bookmark for (actually, it comes with a bookmark for x.facebook.com, but that redirects automatically to touch.facebook.com now days&#8230; same page, different URL), but it&#8217;s not the same thing as having an actual Facebook app. The Facebook app loads faster (it can use cached information). I also miss the ability to tag a photo as I upload it. The Pre does have some nice Facebook integration&#8230; for example, my phone contacts are automatically linked to my Facebook friends (if it gets the auto part wrong, I can manually correct it). This means that their Facebook photo can show up on my caller ID. It also means that if they&#8217;ve put their phone number on their Facebook profile it&#8217;s automatically in my phone book. The downside is, it grabs all my Facebook friends&#8230; including those who I just became &#8220;friends&#8221; with in order to gain something in a Facebook app or people I knew in High School but don&#8217;t talk to anymore. It still nice to have some idea what those old acquaintances are up to these days, but I don&#8217;t know that I need them in my phonebook. Photo uploading is also possible right from the photos application, but you can&#8217;t tag friends from the Pre.<br />
<a name="different-alerts"></a></p>
<h4>Different Alerts for Different Events</h4>
<p>I really miss this one. I could tell by the sound my phone made before if I had a text message, a work email, a personal email, an AKO (Army Knowledge Online&#8230; don&#8217;t have this account anymore) email, a Facebook message, or something else. On the Pre, not only is it not possible to set sounds for each of these events individually, but you can&#8217;t even change the default sound. My wife also has a Pre so if we&#8217;re both together, it can be difficult to know which one of us just got alerted&#8230; nevermind what the alert means. I&#8217;ve briefly tried the <a href="http://www.precentral.net/homebrew-apps">homebrew</a> solutions to that problem, but didn&#8217;t really like them&#8230; though I do appreciate that they were at least an option. I&#8217;d imagine this is something coming in future OS updates.<br />
<a name="cacheberry"></a></p>
<h4>CacheBerry</h4>
<p>When we started Geocaching a while back, one of the first things I did was look for a way to go paperless. What I came across was <a href="http://cacheberry.com/">CacheBerry</a>. It was a nice little program that let me load GPX files into it filled with cache information which I could then use in the field to look at recent logs, hints, etc. I was also able to use it to keep track of what caches we found to make logging easier when we got home. Over the year or so I used it, a lot of new features got added. Unfortunately, there really isn&#8217;t anything similar for the Pre. So while it may just be an application that was available for the BlackBerry, it qualifies as something I miss about my old phone.</p>
<p><a name="things-i-like"></a></p>
<h3>Things I like better about the Pre</h3>
<p>Obviously I knew most, if not all, of the above things when I picked the Pre over an updated BlackBerry, so I must have had a reason&#8230;<br />
<a name="polished-os"></a></p>
<h4>Polished OS</h4>
<p>There are those who would say that eye candy doesn&#8217;t matter. In fact, I used to be phone of them. I thought of all that animation (menus, windows transitions, task switching, etc) as nothing more than wasted CPU cycles. But as I use operating systems that have those things built into them I realize that they can be useful&#8230; as long as the animation is fast enough and stays out of the way of usability (nothing worse that not being able to do what you need because you&#8217;re waiting for an animation to complete). As I was watching videos of both the Palm Pre and the Android based HTC Hero one thing I noticed was that the Pre had a lot more polish to it. And, of course, both of those had more polish than my BlackBerry Pearl&#8230; and the Tour didn&#8217;t seem to be terribly much better in that department. The Pre and the Hero seemed to have similar, though not identical, capabilities. But the Pre had a physical keyboard and that&#8217;s still pretty important to me. I&#8217;ve used the virtual keyboard on an iPod Touch and it was possible to type on it, but I still prefer to pushing actual buttons. While the webOS software is still lacking a few features, I think it has a ton of potential. I&#8217;m definitely looking forward to the next few OS updates&#8230; especially if they get the GPU in the Pre working to it&#8217;s full potential!<br />
<a name="read-status"></a></p>
<h4>Read status syncs</h4>
<p>This was something that always annoyed me on my BlackBerry. I&#8217;d read a message on the phone and when I got back to the computer it&#8217;d normally be marked as read. But if I read it on the computer, the phone would never realize it. Even if I deleted it on the computer. The Pre, being that it uses Exchange Active Sync and IMAP to interface directly with the mailbox (whereas the BlackBerry goes through either a BES or BIS connection), is pretty always in sync. Sometimes it has to run the &#8220;sync process&#8221; first, but once it does the read and deleted status of each message is the same in both places.<br />
<a name="touch-screen"></a></p>
<h4>Usable touch screen</h4>
<p>The BlackBerry doesn&#8217;t have a touch screen at all, so any touch screen is going to be more usable than it had. Where I&#8217;m comparing &#8220;usable&#8221; here is actually two phones ago when I had the PPC-6700. That phone had a touch screen, but it wasn&#8217;t nearly as usable as the capacitive touch screen driven by webOS. One reason was that the 6700 used a resistive touch screen (the mainly being how much &#8220;touch&#8221; was required). Another reason is that the Pre is multitouch. I can handle being touched two different places at the same time and even react to it appropriately (such as pinch zooming). And lastly, webOS is built for being used with a finger whereas Windows Mobile was built for being used with a stylus. Switching between the screen and the keyboard on Windows Mobile was always a huge pain&#8230; even ignoring the fact that they keyboard was only in landscape mode so pulling it out meant rotating the phone.<br />
<a name="calendar"></a></p>
<h4>Synergy Calendar</h4>
<p>I tried for so long to get my work calendar, my personal Google calendar, and my Facebook calendar all onto the BlackBerry with only limited success. In the end, I was able to get the Google Calendar to sync using <a href="http://www.google.com/mobile/products/sync.html#p=blackberry">Google Sync</a>. The problem with that was that I have a lot of calendars on my Google Calendar account and Google Sync could only lump them all onto one device calendar. It wanted to put all those events onto the device default calendar, which was my work calendar. So things would become a mess pretty quick with my personal items ending up on my work calendar. I really wanted to keep those two separate and I managed to find a setting on the BlackBerry that would cause Google Sync to put all its items on a different calendar (changed the device default calendar). I could only choose one remote calendar that all created events would go to, which wasn&#8217;t ideal, but it worked. I have a personal calendar and my wife and I have a shared calendar. Whenever I wanted to put something on the shared calendar and we were out and about I&#8217;d create it on the phone, it&#8217;d get synced to my personal calendar, then I&#8217;d have to remember to go online and move it to the shared calendar.</p>
<p>One the Pre, things are so much nicer. I added my Google Calendar account to the Calendar application (actually, it added it automatically when I added my gmail account to the mail app). I was then given the option for which calendars I wanted to view on my device. When I create an event, I can choose any calendar I have write access to (work, personal, shared w/my wife) and the event gets synced up to that calendar. If I want to display another calendar on my device (like the <a href="http://www.google.com/calendar/hosted/steenhagen.us/htmlembed?src=nfl_8_%2544etroit%2B%254cions%23sports%40group.v.calendar.google.com&#038;ctz=America/New_York">Detroit Lion&#8217;s schedule</a>), I simple add it to my Google calendar and it&#8217;ll be available on my phone&#8217;s calendar. This multi-calendar display was possible with the combined calendar thing that Google Sync did, but on the Pre they can all be different colors.<br />
<a name="text-messaging"></a></p>
<h4>Chat like text messaging</h4>
<p>As I mentioned back when I did my other review, back when i was on Windows Mobile I started using threaded (chat-like) text messaging. I accomplished this by finding a third party program that replaced the default Windows Mobile text messaging program. That program was written by Palm when they started putting Windows Mobile on their handsets instead of PalmOS. That chat feature was a great selling point for their phones and they didn&#8217;t want to abandon it when they went to Windows Mobile (we&#8217;ll leave my other thoughts about Palm going to WM out of this). So I&#8217;m not at all surprised that the Pre has chat-like text messaging.</p>
<p>What is pleasantly surprising is that they didn&#8217;t stop there. They also added chat-like instant messaging. Well, instant messaging is pretty much the definition of chat, but what they did is integrate text messaging (SMS) and instant messaging (Google IM and AOL in the initial release). You can add your contact&#8217;s Google IM or AIM screen name to their contact information (it might be able to pull that down from Facebook, I&#8217;m not really sure) and then switch seamlessly between SMS and IM. OK, so there is a seam, but that&#8217;s just a small divider line so you known when the communication method changed.<br />
<a name="touchstone"></a></p>
<h4>Touchstone</h4>
<p>The touchstone is one really slick piece of hardware. It enables you to charge the phone without plugging any cables into it. Simply set the phone on it and it starts charging. When it&#8217;s done, pick it up. If the phone rings while it&#8217;s setting on the touchstone and you pick it up, the call will be answered. If you&#8217;re in the middle of a call and you set the phone down on the touchstone, it will transfer it to speaker phone. Those are really nice software features of the phone; but, to be honest, they aren&#8217;t as useful as the aforementioned sleeper magnet in the BlackBerry.</p>
<p>If you get the Touchstone kit [link to outdated product removed], it comes with a new back for the phone and the touchstone itself. This new back is required for using the touchstone as it provides the phone part of the connection. That said, even without the touchstone requirement, the new back is nice because it&#8217;s a matte finish rather than a glossy one (which the standard cover has). The glossy finish is a real fingerprint magnet whereas the matte finish doesn&#8217;t really have that problem.<br />
<a name="summary"></a></p>
<h3>Summary</h3>
<p>So here we are, more than 2,000 words later. I&#8217;d imagine I&#8217;ll be posting more about the Palm Pre and webOS in the future. Overall I like the phone. There are some shortcomings, but almost every one of them is software related. And the software is constantly improving. There&#8217;s actually a new update expected &#8220;soon.&#8221; When the Palm Pixie launch (this Sunday) it will have webOS 1.3.1 available for it. It&#8217;s expected that 1.3.1 will become available for the Pre soon after that.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jacob.steenhagen.us/blog/2009/11/from-blackberry-pearl-8130-to-palm-pre/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">194</post-id>	</item>
		<item>
		<title>Got a Palm Pre</title>
		<link>https://jacob.steenhagen.us/blog/2009/10/got-a-palm-pre/</link>
					<comments>https://jacob.steenhagen.us/blog/2009/10/got-a-palm-pre/#respond</comments>
		
		<dc:creator><![CDATA[Jake]]></dc:creator>
		<pubDate>Sat, 10 Oct 2009 02:30:43 +0000</pubDate>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Palm Pre]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[posted-wirelessly]]></category>
		<guid isPermaLink="false">http://jacob.steenhagen.us/blog/?p=188</guid>

					<description><![CDATA[Thanks to my employer, I now have a Palm Pre. I&#8217;ve been eyeing one pretty much since Palm announced it. For a while I was debating between the BlackBerry Tour, the soon to be released HTC Hero and the Palm Pre. I had pretty much decided on the Pre, but thought I had a little &#8230; <p class="link-more"><a href="https://jacob.steenhagen.us/blog/2009/10/got-a-palm-pre/" class="more-link">Continue reading<span class="screen-reader-text"> "Got a Palm Pre"</span></a></p>]]></description>
										<content:encoded><![CDATA[<p>Thanks to my employer, I now have a Palm Pre. I&#8217;ve been eyeing one pretty much since Palm announced it. For a while I was debating between the BlackBerry Tour, the soon to be released HTC Hero and the Palm Pre. I had pretty much decided on the Pre, but thought I had a little more time before I could get it. Turns out I was able to get it sooner.</p>
<p>Similar to when I got the Blackberry, I&#8217;ll do a pros and cons post soon. Also similar to when I got the BlackBerry, this post was made from my phone.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jacob.steenhagen.us/blog/2009/10/got-a-palm-pre/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">188</post-id>	</item>
	</channel>
</rss>
