<?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/"
	>

<channel>
	<title>Jorink.nl</title>
	<atom:link href="http://www.jorink.nl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jorink.nl</link>
	<description>Just for documentation</description>
	<lastBuildDate>Thu, 15 Dec 2011 09:36:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>How To Wipe The BlackBerry® Clean And Set It Up Again</title>
		<link>http://www.jorink.nl/2011/12/how-to-wipe-the-blackberry-clean-and-set-it-up-again/</link>
		<comments>http://www.jorink.nl/2011/12/how-to-wipe-the-blackberry-clean-and-set-it-up-again/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 09:36:12 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[wipe]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=631</guid>
		<description><![CDATA[To erase all the data on your BlackBerry device, complete the following steps. This option is available with BlackBerry Device Software 3.8 and later. In the device Options, click Security. If you are using BlackBerry Device Software 4.1, click Security Options &#62; General Security. Click the trackwheel and select Wipe Handheld. Click Continue. Type “blackberry”. [...]]]></description>
			<content:encoded><![CDATA[<p>To erase all the data on your BlackBerry device, complete the following steps. This option is available with<br />
BlackBerry Device Software 3.8 and later.</p>
<ol>
<li>In the device <strong>Options</strong>, click <strong>Security</strong>.<br />
If you are using BlackBerry Device Software 4.1, click <strong>Security Options &gt; General Security</strong>.</li>
<li>Click the trackwheel and select <strong>Wipe Handheld</strong>.</li>
<li>Click <strong>Continue</strong>.</li>
<li>Type “<strong>blackberry</strong>”. All the data on the BlackBerry device is erased.</li>
</ol>
<p>On some new versions of BlackBerry software, the menu navigation is slightly different.</p>
<ol>
<li>Go to <strong>Options</strong>.</li>
<li>Select <strong>Security Options</strong>.</li>
<li>Select <strong>General Settings</strong>.</li>
<li>Click the <strong>Menu</strong> key.</li>
<li>Select <strong>Wipe Handheld</strong>.</li>
<li>Click <strong>Continue</strong>.</li>
<li>Type “<strong>blackberry</strong>”. All the data on the BlackBerry device is erased.</li>
</ol>
<p>Once it is wiped, hard-reset the handheld and perform BlackBerry Wireless Activation again.<!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/12/how-to-wipe-the-blackberry-clean-and-set-it-up-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to reset the SafeWord RemoteAccess Administration password</title>
		<link>http://www.jorink.nl/2011/11/how-to-reset-the-safeword-remoteaccess-administration-password/</link>
		<comments>http://www.jorink.nl/2011/11/how-to-reset-the-safeword-remoteaccess-administration-password/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 10:01:08 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[SafeWord]]></category>
		<category><![CDATA[password]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=625</guid>
		<description><![CDATA[How to reset the SafeWord RemoteAccess Administration password Issue The SafeWord RemoteAccess Administration password can be saved and is not required to be entered for administering SafeWord. When adding additional servers, they require the same Encryption Key, Signing Key and Administration password. If this password is unknown it can be reset. Resolution 1. Make a [...]]]></description>
			<content:encoded><![CDATA[<h3>How to reset the SafeWord RemoteAccess Administration password</h3>
<h3>Issue</h3>
<div>The SafeWord RemoteAccess Administration password can be saved and is not required to be entered for administering SafeWord. When adding additional servers, they require the same Encryption Key, Signing Key and Administration password. If this password is unknown it can be reset.</div>
<h3>Resolution</h3>
<p>1. Make a complete list of all servers that have SafeWord components installed. This includes Servers, Agents, and SDK applications. Components include:</p>
<p>- SafeWord Core Servers (Database, Admin, Authentication Engine / AAA)<br />
- Web Servers (Web Logon Server (WLS), Enrollment Server (ES))<br />
- User Center<br />
- SafeWord Administration Console<br />
- Citrix Web Interface Agent<br />
- RADIUS (IAS Agent, RADIUS, Ascend RADIUS, RADIUS Accounting)<br />
- Outlook Web Access Agent (OWA), Universal Web Agent (UWA)<br />
- Domain Logon Agent (DLA)</p>
<p>2. Stop all SafeWord server services (Admin, Authentication Engine / AAA Server, Web, RADIUS).</p>
<p>3. Stop all services that are using SafeWord Agents (e.g., IIS and IAS).</p>
<p>4. Remove any swec.md5 or swec.dat files (first stop any RADIUS services if they are running or exist, then delete the swec.md5 file/s. Then restart any RADIUS services) on all servers containing SafeWord components. Their location can vary, so search the entire computer. These swec files are often recreated when the service is stopped, so it&#8217;s imperative that you stop the service before doing the search.</p>
<p>5. Remove all of the following pem files on all SafeWord servers and Admin Console computers.</p>
<p>&#8230;\SERVERS\AdminServer\certificates\cacert.pem<br />
&#8230;\SERVERS\AdminServer\certificates\cakey.pem<br />
&#8230;\SERVERS\AdminServer\certificates\SccAdminServer.pem<br />
&#8230;\SERVERS\AAAServer\certificates\SccAAAServer.pem<br />
&#8230;\AdminConsole\certificates\PremierAccess_Administrator_Console.pem</p>
<p>6. Delete all client entries from the Admin Server&#8217;s clients.ini file. The clients.ini file is extensively documented if you require more information.</p>
<p>&#8230;\SERVERS\AdminServer\certificates\clients.ini</p>
<p>Do NOT delete these two lines. Increase the value of AcceptNewCertificates if necessary.</p>
<pre><code>$AcceptNewCertificates=50 $AcceptNewCertificatesDefaultPolicy=always</code></pre>
<p>7. Delete all server entries from the Admin Server&#8217;s and Admin Console&#8217;s servers.ini file. The servers.ini file is extensively documented if you require more information.</p>
<p>&#8230;\SERVERS\AdminServer\certificates\servers.ini<br />
&#8230;\AdminConsole\certificates\servers.ini</p>
<p>Do NOT delete this line.</p>
<pre><code>$AcceptNewCertsDefaultPolicy=never</code></pre>
<p>8. Start services in this order.</p>
<p>a. SafeWord Database Server services<br />
b. Admin Sever services<br />
c. SafeWord Authentication Engine (AAA Server) services<br />
d. All remaining services</p>
<p>Source : <a href="http://theether.net/kb/100168" target="_blank">http://theether.net/kb/100168</a><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/11/how-to-reset-the-safeword-remoteaccess-administration-password/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UAC Virtualization – Allowing standard users to update a system protected area</title>
		<link>http://www.jorink.nl/2011/07/uac-virtualization-%e2%80%93-allowing-standard-users-to-update-a-system-protected-area/</link>
		<comments>http://www.jorink.nl/2011/07/uac-virtualization-%e2%80%93-allowing-standard-users-to-update-a-system-protected-area/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 07:51:18 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=565</guid>
		<description><![CDATA[You should know the score by now – I install application FOO into “C:\Program Files\Foo Inc\Foo” and it has a built-in manifest stating that asInvoker is used for its requested privilege level, allowing standard users to run it. Attempts by standard users to write to “C:\Program Files\Foo Inc\Foo” do not fail with “access denied” (as [...]]]></description>
			<content:encoded><![CDATA[<p>You should know the score by now – I install application FOO into “C:\Program Files\Foo Inc\Foo” and it has a built-in manifest stating that asInvoker is used for its requested privilege level, allowing standard users to run it.</p>
<p>Attempts by standard users to <em>write</em> to “C:\Program Files\Foo Inc\Foo” do not fail with “access denied” (as they would have on version of Windows prior to Vista), but instead the disk write is redirected to the user’s own profiles (under “%userprofile%\AppData\Local\VirtualStore\Program Files”).</p>
<p>So far, so good – the application is happy as it believes it is able to write to a system protected area of the volume even when running without admin rights.</p>
<p>&nbsp;</p>
<p>But imagine that FOO has an “automatic updater” or a “launcher” stub process whose job it is to check the current version of the application and download an update package &amp; apply it…</p>
<p>The write operation is virtualized into the user’s profile, so the new patch will download okay – but when it comes to apply it this is also virtualized and the file it is updating or replacing is not in VirtualStore… so it fails.</p>
<p>Re-run the launcher and it will either start over with the download of the update, or try again to apply it and fail once more.</p>
<p>&nbsp;</p>
<p>There are now plenty of apps (and games) that will <em>run</em> okay without admin privileges, but they have problems <em>patching</em> because of UAC virtualization unless the launcher was started elevated (or by the Administrator, who is the only user exempt from UAC as per my previous blog entry).</p>
<p>So how to leave UAC enabled and be able to use and update this program as a standard user?<span id="more-565"></span></p>
<p>First, we need to verify that the application is not being virtualized – when it is running you can check in Task Manager and right-click the process name – in the context menu if there is a check against “UAC Virtualization” then we need to create a <em>manifest</em> so the OS thinks it is “UAC aware”.</p>
<p>If the executable is named FOO.EXE, the manifest in the same folder needs to be FOO.EXE.MANIFEST, and it is just a human-readable XML file.</p>
<p>(Bear in mind if there is a stub launcher it may be necessary to create a similar manifest for the main executable too.)</p>
<p>&nbsp;</p>
<p>Based on the <a href="http://msdn.microsoft.com/en-us/library/bb756929.aspx" target="_blank">example on MSDN</a>, the contents of the manifest file would be something like this:</p>
<table width="95%" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top"><span style="font-family: Courier New; font-size: x-small;">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243; standalone=&#8221;yes&#8221;?&gt;<br />
&lt;assembly xmlns=&#8221;urn:schemas-microsoft-com:asm.v1&#8243; manifestVersion=&#8221;1.0&#8243;&gt;<br />
&lt;assemblyIdentity version=&#8221;1.0.0.0&#8243;<br />
processorArchitecture=&#8221;X86&#8243;<br />
name=&#8221;FOO&#8221;<br />
type=&#8221;win32&#8243;/&gt;<br />
&lt;description&gt;The Amazing Foo (Launcher)&lt;/description&gt;<br />
&lt;trustInfo xmlns=&#8221;urn:schemas-microsoft-com:asm.v2&#8243;&gt;<br />
&lt;security&gt;<br />
&lt;requestedPrivileges&gt;<br />
&lt;requestedExecutionLevel<br />
level=&#8221;asInvoker&#8221;<br />
uiAccess=&#8221;false&#8221;/&gt;<br />
&lt;/requestedPrivileges&gt;<br />
&lt;/security&gt;<br />
&lt;/trustInfo&gt;<br />
&lt;/assembly&gt;</span></td>
</tr>
</tbody>
</table>
<p>If using Notepad to create the file, make sure to save the file in quotation marks to avoid <span style="font-family: Courier New;">.txt</span> being appended to the name.</p>
<p>Now, launching FOO.EXE should not trigger an OTS prompt and UAC virtualization should be disabled – note that if the application is trying to write to its folder then it will now have errors as it is behaving as Windows XP would.</p>
<p>(We could disable just the OTS prompt but leave the application UAC virtualized by using the Application Compatibility Toolkit to create a shim to set requestedPrivileges=asInvoker and import it with sdbinst.exe, but this blog is about working around an application’s design flaw to disable UAC virtualization.)</p>
<p>&nbsp;</p>
<p>So the next thing we need to do is to grant the required permissions on the folder we’re trying to write to.</p>
<p>In this case the easiest thing is probably to take “C:\Program Files\Foo Inc\Foo” and set:<br />
- the owner to the group “Users”<br />
- permissions for group “Users” to Full Access</p>
<p>This will let anyone authenticated as a member of the Users group able to create and delete files in this folder – but you should also check the permissions on the files &amp; folders that are already there to ensure that Users have Full Access on those too, or editing/deleting existing files may fail.</p>
<p>&nbsp;</p>
<p>A quick way to check the owner of a folder or file is to use the /Q switch for DIR at a command prompt:</p>
<table width="95%" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top"><span style="font-family: Courier New; font-size: xx-small;">C:\Program Files\Foo Inc\Foo&gt;dir /q<br />
Volume in drive C is CDRIVE<br />
Volume Serial Number is 1234-4321 </span></p>
<p><span style="font-family: Courier New; font-size: xx-small;">Directory of C:\Program Files\</span><span style="font-family: Courier New; font-size: xx-small;">Foo Inc\Foo&gt;</span></p>
<p><span style="font-family: Courier New; font-size: xx-small;">2010-08-11  15:27    &lt;DIR&gt;          BUILTIN\Users          .<br />
2010-08-11  15:27    &lt;DIR&gt;          NT SERVICE\TrustedInsta..<br />
2010-08-11  15:27                18 BUILTIN\Administrators foo.dll<br />
2010-08-11  15:27                22 BUILTIN\Administrators foo.exe<br />
2010-08-11  15:27                12 BUILTIN\Administrators foo.exe.manifest<br />
3 File(s)             52 bytes</span></td>
</tr>
</tbody>
</table>
<p>Here you can see I’ve set ownership of the folder itself (“.” is the current folder) to “Users”, but it has not changed the owner of the items in the folder.</p>
<p>(You can also add the “Owner” column when browsing the folder in Explorer, but you won’t see “.” or “..” in this case.)</p>
<p>&nbsp;</p>
<p>ICACLS can be used for viewing and editing permissions at an elevated command prompt:</p>
<table width="95%" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top"><span style="font-family: Courier New; font-size: xx-small;">C:\Program Files\Foo Inc\Foo&gt;</span><span style="font-family: Courier New; font-size: xx-small;">icacls *<br />
foo.dll NT AUTHORITY\SYSTEM:(I)(F)<br />
BUILTIN\Administrators:(I)(F)<br />
BUILTIN\Users:(I)(RX)</span></p>
<p><span style="font-family: Courier New; font-size: xx-small;">foo.exe NT AUTHORITY\SYSTEM:(I)(F)<br />
BUILTIN\Administrators:(I)(F)<br />
BUILTIN\Users:(I)(RX)</span></p>
<p><span style="font-family: Courier New; font-size: xx-small;">foo.exe.manifest NT AUTHORITY\SYSTEM:(I)(F)<br />
BUILTIN\Administrators:(I)(F)<br />
BUILTIN\Users:(I)(RX)</span></p>
<p><span style="font-family: Courier New; font-size: xx-small;">Successfully processed 3 files; Failed processing 0 files</span></td>
</tr>
</tbody>
</table>
<p>We can then change the owner of the files, if we work with just foo.exe as a simple example:</p>
<table width="95%" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top"><span style="font-family: Courier New; font-size: xx-small;">C:\Program Files\Foo Inc\Foo&gt;icacls foo.exe /setowner BUILTIN\Users<br />
processed file: foo.exe<br />
Successfully processed 1 files; Failed processing 0 files</span></td>
</tr>
</tbody>
</table>
<p>As CREATOR OWNER (a member of Users) we now have permission to change the permissions even without the process being elevated:</p>
<table width="95%" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top"><span style="font-family: Courier New; font-size: xx-small;">C:\Program Files\Foo Inc\Foo&gt;icacls foo.exe /grant BUILTIN\Users:F<br />
processed file: foo.exe<br />
Successfully processed 1 files; Failed processing 0 files</span></td>
</tr>
</tbody>
</table>
<p>Finally, we can verify that our discretionary ACE is there (note the lack of “(I)” indicating inheritance):</p>
<table width="95%" border="1" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td valign="top" width="95%"><span style="font-family: Courier New; font-size: xx-small;">C:\Program Files\Foo Inc\Foo&gt;</span><span style="font-family: Courier New; font-size: xx-small;">icacls foo.exe<br />
foo.exe BUILTIN\Users:(F)<br />
BUILTIN\Users:(I)(F)<br />
NT AUTHORITY\SYSTEM:(I)(F)<br />
BUILTIN\Administrators:(I)(F)</span></p>
<p><span style="font-family: Courier New; font-size: xx-small;">Successfully processed 1 files; Failed processing 0 files</span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>This sounds like a lot of work, but remember we are fixing a compatibility issues for an application that somebody else designed, and if it’s done correctly (and there are no other quirks of the application) it shouldn’t need doing again.</p>
<p>An alternative that at least one vendor did to get round this for non-technical users was to move the installation folder for the app (actually a game) into the %PUBLIC% folder (the “public” or “all users” profile) which is not UAC virtualized, and grant permissions for anyone to write there.</p>
<p>&nbsp;</p>
<p><span style="color: #ff0000;">NOTES:<br />
1. If an application wants to write to the %SYSTEMROOT% folder, I would never recommend taking ownership or trying this method – the vendor should fix their application in this case.<br />
2. Similarly, I would never advocate taking ownership of the %PROGRAMFILES% folder itself as this reduces security.</span></p>
<p><span style="color: #000000;">Source : <a title="blogs.technet.com" href="http://blogs.technet.com/b/mrsnrub/archive/2010/08/11/uac-virtualization-allowing-standard-users-to-update-a-system-protected-area.aspx" target="_blank">http://blogs.technet.com</a></span><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/07/uac-virtualization-%e2%80%93-allowing-standard-users-to-update-a-system-protected-area/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MPIO between Storage Server and clients in a pure Hyper-V environment</title>
		<link>http://www.jorink.nl/2011/07/mpio-between-storage-server-and-clients-in-a-pure-hyper-v-environment/</link>
		<comments>http://www.jorink.nl/2011/07/mpio-between-storage-server-and-clients-in-a-pure-hyper-v-environment/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 07:03:56 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=563</guid>
		<description><![CDATA[1) open the iSCSI initiator 2) Add the two iSCSI portals (DNS, or IP if there are no name resolution in the private iSCSI network) 3) You will see the available targets in the Targets tab 4) Click connect 5) Check Enable multipath and add the specific target-initiator pair in one of the iSCSI networks [...]]]></description>
			<content:encoded><![CDATA[<p>1) open the iSCSI initiator<br />
2) Add the two iSCSI portals (DNS, or IP if there are no name resolution in the private iSCSI network)<br />
3) You will see the available targets in the Targets tab<br />
4) Click connect<br />
5) Check Enable multipath and add the specific target-initiator pair in one of the iSCSI networks ONLY<br />
6) We will add the remaining iSCSI path once MPIO is configured</p>
<p>1) Install the MPIO feature<br />
2) Click MPIO in Administration Tools<br />
3) In the Discover multi-path tab, click add support for iSCSI devices <strong>(you must connect to the iSCSI device before otherwise this will be grayed)</strong><br />
4)  You will be asked to restart Windows. You will see a new device  hardware ID (MSFT2005iSCSIBusType_0x9) in the MPIO Devices tab.</p>
<p>1) Once restarted open the iSCSI initiator again<br />
2) Select the target in the Targets tab, click properties<br />
3) Click Add session and add the target-initiator pair in the remaining iSCSI network<br />
4) Click Devices, you will see only one device (not two) if MPIO is configured properly<br />
5) Click MPIO, you will see the load balancing policy and the two connections to the iSCSI device<br />
6)  In Disk Management (or Storage Manager for SANs (SMfS), if Storage  Server hardware providers are installed), configure the newly added  disks as appropriate</p>
<p><strong>To verify:</p>
<p></strong>1) You will see network traffic in both iSCSI adapters when formatting and copying files<br />
2)  Copy a large file. Disconnect one of the iSCSI connections and see the  traffic failover to another path. Repeat the other way.<br />
3)  In the Device by connection view of Device Manager, you will see &#8220;MSFT  Virtual HD Multi-Path Disk Device&#8221; under the Microsoft Multi-Path Bus  Driver<br />
4) In MPIO the Configuration Shapshot tab, generate a configuration log file.<!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/07/mpio-between-storage-server-and-clients-in-a-pure-hyper-v-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>List of users with their email adresses</title>
		<link>http://www.jorink.nl/2011/05/list-of-users-with-their-email-adresses/</link>
		<comments>http://www.jorink.nl/2011/05/list-of-users-with-their-email-adresses/#comments</comments>
		<pubDate>Thu, 12 May 2011 09:58:06 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[Batch files]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Batch]]></category>
		<category><![CDATA[CLI]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=560</guid>
		<description><![CDATA[csvde -f yourfile.csv -r "(&#38;(objectCategory=Person)(objectClass=user))" –l "sAMaccountname,mail"]]></description>
			<content:encoded><![CDATA[<p><code>csvde -f yourfile.csv -r "(&amp;(objectCategory=Person)(objectClass=user))" –l "sAMaccountname,mail"</code><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/05/list-of-users-with-their-email-adresses/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting primary monitor (dual monitors) on Ubuntu 10.10</title>
		<link>http://www.jorink.nl/2011/04/setting-primary-monitor-dual-monitors-on-ubuntu-10-10/</link>
		<comments>http://www.jorink.nl/2011/04/setting-primary-monitor-dual-monitors-on-ubuntu-10-10/#comments</comments>
		<pubDate>Fri, 22 Apr 2011 09:30:42 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Ubuntu 10.10]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=554</guid>
		<description><![CDATA[I have my laptop connected to an external monitor, and I want the external monitor to be the primary display (i.e. with the menu bar displayed on it.) For some reason, there&#8217;s no GUI element to set this. I had to read a bunch of man pages, but when all else fails, trusty old xrandr [...]]]></description>
			<content:encoded><![CDATA[<p>I have my laptop connected to an external monitor, and I want the  external monitor to be the primary display (i.e. with the menu bar  displayed on it.) For some reason, there&#8217;s no GUI element to set this. I  had to read a bunch of man pages, but when all else fails, trusty old  xrandr to the rescue:</p>
<pre>vijayp@ike:~$ xrandr --output HDMI1 --primary</pre>
<p>In case you don&#8217;t know what your display is called, just run &#8220;xrandr&#8221; on its own. This is what my laptop says:</p>
<pre>vijayp@ike:~$ xrandr
Screen 0: minimum 320 x 200, current 2880 x 1200, maximum 8192 x 8192
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm
   1280x800       60.0*+
   1024x768       60.0
   800x600        60.3     56.2
   640x480        59.9
HDMI1 connected 1600x1200+1280+0 (normal left inverted right x axis y axis) 367mm x 275mm
   1600x1200      60.0*+
   1280x1024      75.0     60.0
   1152x864       75.0
   1024x768       75.1     60.0
   800x600        75.0     60.3
   640x480        75.0     60.0
   720x400        70.1
DP1 disconnected (normal left inverted right x axis y axis)</pre>
<p><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/04/setting-primary-monitor-dual-monitors-on-ubuntu-10-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: Force Moving Apps to an SD Card</title>
		<link>http://www.jorink.nl/2011/04/android-force-moving-apps-to-an-sd-card/</link>
		<comments>http://www.jorink.nl/2011/04/android-force-moving-apps-to-an-sd-card/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 22:38:24 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[HTC Desire]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=551</guid>
		<description><![CDATA[This isn’t anything new but I thought I would share my experiences of trying to free space on my HTC desire by forcing apps to be movable to the sd card using the android SDK on linux. WARNING: Ensure you have a backup of any important data before you start in case something goes wrong. [...]]]></description>
			<content:encoded><![CDATA[<p>This isn’t anything new but I thought I would share my experiences of  trying to free space on my HTC desire by forcing apps to be movable to  the sd card using the android SDK on linux.</p>
<p><strong>WARNING</strong>: Ensure you have a backup of any important  data before you start in case something goes wrong. Carrying out these  instructions is at your own risk.</p>
<p>Running out of space is really the only annoyance I have come across  since owning an android phone. Every now and again the low space icon  comes up and you have to try and free up some space.</p>
<p>Since Froyo you’ve been able to move certain apps to SD card, but  it’s only if the developer allows it. If you’re an android developer and  you want to know how to do it, see this post: <a href="http://mobile.tutsplus.com/tutorials/android/move-to-sd-card/">Enabling the Android Move To SD Card Feature</a></p>
<p>So if you’re stuck with a bunch of apps you can’t move by default  because “Move to SD Card” is greyed out in “Settings -&gt; Applications  -&gt; Manage Applications -&gt; Appname” then you might be thinking it’s  not possible. However, <em>it is</em> possible to change the default install location to SD card via adb.</p>
<h3>Introducing the Android Debug Bridge</h3>
<p>Adb is the <a href="http://developer.android.com/guide/developing/tools/adb.html">Android Debug Bridge</a> which comes as part of the SDK. If you don’t have the SDK the first thing you will need to do is install it (get it from<a href="http://developer.android.com/sdk/index.html">developer.android.com</a>). Once you have the SDK you can find the adb tool in /platform-tools/, though in my case I have it at /tools/.</p>
<p>After you’ve installed the SDK you’ll need to connect your phone to  your computer using the USB data cable. You’ll also need to make sure  that debugging is possible by visiting “Settings -&gt; Applications  -&gt; Development” and checking “USB Debugging”.</p>
<h3>Enabling moving of apps to SD card</h3>
<p>To change the the install location we are going to run the pm command via the adb shell. Here’s the details of the pm command:</p>
<pre><code>The setInstallLocation command changes the default install location
  0 [auto]: Let system decide the best location
  1 [internal]: Install on internal device storage
  2 [external]: Install on external media</code></pre>
<p>To change the default install location to the SD card (which also  enables moving most apps to the SD card.) run the following from the dir  containing the adb command:</p>
<pre><code>./adb shell pm setInstallLocation 2</code></pre>
<p>If you at any point hit the following:</p>
<pre><code>error: insufficient permissions for device</code></pre>
<p>Try doing this:</p>
<pre><code>./adb kill-server
sudo ./adb  start-server</code></pre>
<p>You should now find you can run the above commands without error.</p>
<h3>Insufficient Storage Available</h3>
<p>The other error I had was that when I was trying to move any app  after changing the default install location to the SD card was something  along the lines of “Unable to move application. Insufficient Storage”.</p>
<p>The way I got around this was to uninstall twitter which was using  about 17mb (it was the largest app). After that I re-installed it and it  used far less space (naturally as the data would have been removed by  the re-install process). After that I was able to successfully move most  of my remaining apps (twitter included) to my SD card.</p>
<h3>Re-setting the installation location back to auto</h3>
<p>I’d strongly recommend re-setting the default installation location  when you are done moving apps. The reason for this is that apps will  fail to be installed directly to the external location, at least this is  what I experienced when trying to re-install the twitter app.</p>
<p>To reset the install location to automatic (let the system decide) use the following:</p>
<pre><code>./adb shell pm setInstallLocation 0</code></pre>
<p>Should you forget where it was left at you can always run:</p>
<pre><code>./adb shell pm getInstallLocation</code></pre>
<p>e.g:</p>
<pre><code>$ ./adb shell pm getInstallLocation
0[auto]</code></pre>
<p>Source : <a href="http://muffinresearch.co.uk/archives/2011/02/02/android-force-moving-apps-to-an-sd-card/" target="_blank">Muffinresearch</a><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/04/android-force-moving-apps-to-an-sd-card/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Overscan Options in Catalyst 9.9 on Windows 7</title>
		<link>http://www.jorink.nl/2011/04/overscan-options-in-catalyst-9-9-on-windows-7/</link>
		<comments>http://www.jorink.nl/2011/04/overscan-options-in-catalyst-9-9-on-windows-7/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 12:28:47 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=549</guid>
		<description><![CDATA[I had enough trouble finding this option that i felt it worthy of a blog post. I’m not immediately sure how the Catalyst Control Center differs between Windows 7 and Windows XP, but I was able to find the Overscan/Underscan options a bit easier in XP. To access the Overscan option of your current display [...]]]></description>
			<content:encoded><![CDATA[<p>I had enough trouble finding this option that i felt it worthy of a blog post.</p>
<p>I’m not immediately sure how the Catalyst Control Center differs between Windows 7 and Windows XP, but I was able to find the Overscan/Underscan options a bit easier in XP.</p>
<p>To access the Overscan option of your current display do the following:</p>
<ul>
<li>Right click on the Desktop and open CCC</li>
<li>If your not already in Advanced Mode, Switch to this.</li>
<li>Click dropdown menu Graphics in the top right</li>
<li>Select Desktops and Displays</li>
<li>Right Click your currently activated display under ‘Please Select a Display’</li>
<li>Select Configure</li>
<li>Click on the Scaling Options tab</li>
</ul>
<p>From this menu you’ll probably find more of your favorite CCC options that you’ve been missing. For reference these instructions come from a Windows 7 machine with a Sapphire ATi Radeon 4850 running Catalyst Control Center 9.9<!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/04/overscan-options-in-catalyst-9-9-on-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPG error: http://ppa.launchpad.net</title>
		<link>http://www.jorink.nl/2011/03/gpg-error-httpppa-launchpad-net/</link>
		<comments>http://www.jorink.nl/2011/03/gpg-error-httpppa-launchpad-net/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 20:56:59 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu 10.10]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=544</guid>
		<description><![CDATA[When you get GPG errors when running apt-get update on your Ubuntu machine, you have to import the the appropriate keys. W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4DEF31B9A9E345C0 W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because [...]]]></description>
			<content:encoded><![CDATA[<p>When you get GPG errors when running apt-get update on your Ubuntu machine, you have to import the the appropriate keys.</p>
<pre dir="ltr">W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4DEF31B9A9E345C0
W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 0F678A01569113AE
W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 7889D725DA6DEEAA
W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY FD58F8C9E8EF47D2
W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AF5ED91C56978EF9
W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 464AD83D4631BBEA
W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6AF0E1940624A220
W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A9A06AEF9CB8DB0
W: GPG error: http://ppa.launchpad.net lucid Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 8CA7A6E8E4FA953A</pre>
<p>Just run the following command :</p>
<pre dir="ltr">sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID</pre>
<p>where KEYID is number shown in error msg</p>
<p>You can also import all the keys automatically. Tutorial here.</p>
<p><a href="http://www.webupd8.org/2010/05/automatically-import-all-missing.html" target="_blank">http://www.webupd8.org/2010/05/autom&#8230;l-missing.html</a><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/03/gpg-error-httpppa-launchpad-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatically add email signatures/disclaimers with Exchange 2010</title>
		<link>http://www.jorink.nl/2011/03/automatically-add-email-signaturesdisclaimers-with-exchange-2010/</link>
		<comments>http://www.jorink.nl/2011/03/automatically-add-email-signaturesdisclaimers-with-exchange-2010/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 11:34:11 +0000</pubDate>
		<dc:creator>Arjan Jorink</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://www.jorink.nl/?p=539</guid>
		<description><![CDATA[For many organizations, it’s a good idea to centrally manage email signatures and email disclaimers – it gives a consistent branding on your email communications, and you’re not relying on end users to set them up correctly and keep them consistent. If you’re running Microsoft Exchange 2010, you have the ability to do this out [...]]]></description>
			<content:encoded><![CDATA[<p>For many organizations, it’s a good idea to centrally manage email signatures and email disclaimers – it gives a consistent branding on your email communications, and you’re not relying on end users to set them up correctly and keep them consistent. If you’re running Microsoft Exchange 2010, you have the ability to do this out of the box, using ‘Transport Rules’. Applying signatures this way should also save you space in your mailbox databases, due to the fact that signatures won’t be added on to each message in every users “Sent Items” folder.</p>
<p><a href="http://www.jorink.nl/wp-content/uploads/2011/03/Exchange.email_.signatures.new_.transport.rule_.append.disclaimer.text_thumb.png" rel="lightbox[539]" title="Exchange.email_.signatures.new_.transport.rule_.append.disclaimer.text_thumb"><img class="alignnone size-medium wp-image-540" title="Exchange.email_.signatures.new_.transport.rule_.append.disclaimer.text_thumb" src="http://www.jorink.nl/wp-content/uploads/2011/03/Exchange.email_.signatures.new_.transport.rule_.append.disclaimer.text_thumb-300x260.png" alt="" width="300" height="260" /></a></p>
<p><span id="more-539"></span>To get started with a basic signature, open the Exchange Management Console, and navigate to: ‘Organization Configuration’ &gt;&gt; ‘Hub Transport’, then select the ‘Transport Rules’ tab, finally click the ‘New Transport Rule’ link in the actions pane on the right. The Transport Rule wizard should then start, you’ll need to provide a name for your rule, and then select which user or group of users this rule should apply to. In your first instance, it’s probably a good idea just to apply it to yourself to test with, later you can apply the rule to other individuals, distribution groups  etc. Have a look through the options available to you in step 1, they are quite flexible with who the rules can be applied to. In step two of the transport rule wizard, you will need to chose the ‘append disclaimer text’ action, and then enter your text by clicking the appropriate hyperlink in the bottom pane of the wizard.</p>
<p><a href="http://www.jorink.nl/wp-content/uploads/2011/03/Exchange.email_.signatures.new_.transport.rule_.except.replies_thumb.png" rel="lightbox[539]" title="Exchange.email_.signatures.new_.transport.rule_.except.replies_thumb"><img class="alignnone size-medium wp-image-541" title="Exchange.email_.signatures.new_.transport.rule_.except.replies_thumb" src="http://www.jorink.nl/wp-content/uploads/2011/03/Exchange.email_.signatures.new_.transport.rule_.except.replies_thumb-300x259.png" alt="" width="300" height="259" /></a></p>
<p>Before we move on to step 3 of the wizard, you should be aware that signatures and disclaimers can only be appended to the absolute end of emails. If you want to have a signature at the end of each reply, you will need to look into 3<sup>rd</sup> party solutions. Due to this fact, I always add an exclusion rule, for any email with ‘FW:’ or ‘RE:’ in the subject, in order to prevent a build up of signatures right at the end of an email conversation, which could confuse people. Once you’ve added this exclusion rule, the wizard will confirm your choices, and then create the transport rule. At this stage, if you send an email that matches the criteria in step 1 of the wizard, you should see your signature applied.</p>
<h2>Dynamic email signatures</h2>
<p>The best aspect of adding signatures via Exchange transport rules is the fact that certain attributes from Active Directory can be dynamically inserted into the signatures – just insert the attribute name into the disclaimer text in the transport rule, with ‘%%’ on either side of the attribute name (e.g. %phoneNumber%). Unfortunately not all AD attributes will work, but there are a number of useful ones available, the full list is provided on <a href="http://technet.microsoft.com/en-us/library/dd638183.aspx#PropertyTypes">Microsoft TechNet</a>.</p>
<p>For our next signature, go back and edit the previous transport rule you created, and edit the disclaimer text to include some dynamic attributes. We will also need to add some very basic HTML to format the signature:</p>
<p><a href="http://www.jorink.nl/wp-content/uploads/2011/03/Exchange.email_.signatures.specify.disclaimer.text_thumb.png" rel="lightbox[539]" title="Exchange.email_.signatures.specify.disclaimer.text_thumb"><img class="alignleft size-medium wp-image-542" title="Exchange.email_.signatures.specify.disclaimer.text_thumb" src="http://www.jorink.nl/wp-content/uploads/2011/03/Exchange.email_.signatures.specify.disclaimer.text_thumb-300x146.png" alt="" width="300" height="146" /></a></p>
<p>Now when a mail matching our criteria is processed by Exchange, it should have our name added in bold, along with our phone number. You could get more creative with the HTML in the signature, inserting company logos, or creating tables.</p>
<p><strong>Text only email signatures</strong></p>
<p>If you’re sending a text only email (Many mobile devices will send these out – including iPhones and Blackberries), Exchange will have to convert your signature to a text only format. It’s always a good idea to check what the converted version looks like – especially if you’ve used a lot of HTML.</p>
<p>It’s also worth noting that a bug in pre SP1 meant that when Exchange converted HTML messages to text only, the signature ended up with &lt;html&gt; and &lt;body&gt; tags at the start of it. This issue was fixed in Exchange SP1.</p>
<h2>Chaining email signatures</h2>
<p>Finally, as you build your signature system up for your organization – it may help to be aware that you can create multiple transport rules that build up your signature and disclaimer in chunks. For example, one rule could include generic name and contact details, followed by another section with a departmental marketing line, followed by a global disclaimer message. By setting the priority of each transport rule, you can ensure that they will be joined together in the correct order.<!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jorink.nl/2011/03/automatically-add-email-signaturesdisclaimers-with-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

