<?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>SurlyJake</title>
	<atom:link href="http://www.surlyjake.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.surlyjake.com</link>
	<description></description>
	<lastBuildDate>Fri, 30 Dec 2011 15:28:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Create a custom application launcher in GNOME3</title>
		<link>http://www.surlyjake.com/2011/12/create-a-custom-application-launcher-in-gnome3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=create-a-custom-application-launcher-in-gnome3</link>
		<comments>http://www.surlyjake.com/2011/12/create-a-custom-application-launcher-in-gnome3/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 15:26:51 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Arch]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=879</guid>
		<description><![CDATA[On Arch, the system-wide shortcuts are stored in /usr/share/applications. Each one is a .desktop file with a few parameters. user-specific icons are stored in ~/.local/share/applications. I downloaded eclipse and extracted it in my home directory, so I&#8217;ll use eclipse as the example application. Create the .desktop file: nano ~/.local/share/applications/Eclipse.desktop Paste this in: [Desktop Entry] Encoding=UTF-8 [...]]]></description>
			<content:encoded><![CDATA[<p>On Arch, the system-wide shortcuts are stored in /usr/share/applications. Each one is a .desktop file with a few parameters. user-specific icons are stored in ~/.local/share/applications. I downloaded eclipse and extracted it in my home directory, so I&#8217;ll use eclipse as the example application.</p>
<ol>
<li><strong>Create the .desktop file:</strong>
<pre><code>nano ~/.local/share/applications/Eclipse.desktop</code></pre>
<p>Paste this in:</p>
<pre><code>[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
NoDisplay=false
Exec=/path/to/eclipse/eclipse
Name=Eclipse Comment=Launcher for Eclipse</code></pre>
<p>Each line is pretty self-explanatory. Edit to suit your needs. As soon as you save the file, you will be able to see your new shortcut in the list.</li>
<li><strong>(Optional) Give the shortcut a nice-looking icon:</strong><br />
You probably noticed that your icon is an ugly diamond. To pretty it up, you simply have to add one more line to the desktop file.</p>
<pre><code> Icon=/path/to/eclipse/eclipse.<a href="http://www.surlyjake.com/tag/svg/" class="st_tag internal_tag" rel="tag" title="Posts tagged with svg">svg</a></code></pre>
<p>Your application may have included a png icon, but to make it really look nice, you should grab an SVG file of the logo from somewhere. Arch has a very simple packaging process which lets you examine all of the package building elements through their webpage at http://www.archlinux.org/packages/. I was able to grab the SVG which the package uses like this:</p>
<pre><code>wget -O eclipse.svg http://projects.archlinux.org/svntogit/packages.git/plain/trunk/eclipse.svg\?h\=packages/eclipse</code></pre>
</li>
</ol>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2011/12/create-a-custom-application-launcher-in-gnome3/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2011/12/create-a-custom-application-launcher-in-gnome3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress HTTPS secure login</title>
		<link>http://www.surlyjake.com/2011/12/wordpress-https-secure-login-with-nginx/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-https-secure-login-with-nginx</link>
		<comments>http://www.surlyjake.com/2011/12/wordpress-https-secure-login-with-nginx/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 03:36:11 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=862</guid>
		<description><![CDATA[Back when I started with WordPress, I had to create server rewrites to force my browser to use HTTPS. That changed back in 2008, but this is the first i&#8217;ve heard of it. WordPress 2.6 (released in July, 2008) and newer include the tools do do this out of the box! Using this documentation, you [...]]]></description>
			<content:encoded><![CDATA[<p>Back when I started with <a href="http://www.surlyjake.com/tag/wordpress/" class="st_tag internal_tag" rel="tag" title="Posts tagged with wordpress">WordPress</a>, I had to create server rewrites to force my browser to use HTTPS. That changed back in 2008, but this is the first i&#8217;ve heard of it.</p>
<p>WordPress 2.6 (released in July, 2008) and newer include the tools do do this out of the box! Using this documentation, you can get rid of some old .htaccess or nginx rewrite rules: <a title="http://codex.wordpress.org/Administration_Over_SSL" href="http://codex.wordpress.org/Administration_Over_SSL" target="_blank">http://codex.wordpress.org/Administration_Over_SSL</a>.  All you have to do is add the declaration in wp-config.php:</p>
<pre><code>define('FORCE_SSL_ADMIN', true);</code></pre>
<p>This forces logins and administrative sessions to use SSL.</p>
<p>Now, you can remove the old nginx rewrites. They aren&#8217;t needed anymore:</p>
<pre><code>rewrite ^/wp-login.php(.*) https://www.surlyjake.com/wp-login.php$1 permanent;</code>
<code>rewrite ^/wp-admin(.*) https://www.surlyjake.com/wp-admin$1 permanent;</code></pre>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2011/12/wordpress-https-secure-login-with-nginx/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2011/12/wordpress-https-secure-login-with-nginx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Redirection Plugin</title>
		<link>http://www.surlyjake.com/2011/09/wordpress-redirection-plugin/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=wordpress-redirection-plugin</link>
		<comments>http://www.surlyjake.com/2011/09/wordpress-redirection-plugin/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 20:10:17 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[web developer]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=809</guid>
		<description><![CDATA[This blog is undergoing some changes.There is some content (like the zabbix pages) that I can no longer maintain since I no longer use them in my day-job. To keep everything working seamlessly, I wanted to create some 302 (permanently moved) redirectors for the content that I was taking down. In the past, I used [...]]]></description>
			<content:encoded><![CDATA[<p>This blog is undergoing some changes.There is some content (like the zabbix pages) that I can no longer maintain since I no longer use them in my day-job. To keep everything working seamlessly, I wanted to create some 302 (permanently moved) redirectors for the content that I was taking down. In the past, I used a plugin called &#8220;<a href="http://wordpress.org/extend/plugins/smart-404/" target="_blank">smart 404</a>&#8221; to intelligently redirect visitors to a good page instead of the dummy standard 404 page. Unfortunately, It looks like smart 404 is having some trouble in newer <a href="http://www.surlyjake.com/tag/wordpress/" class="st_tag internal_tag" rel="tag" title="Posts tagged with wordpress">WordPress</a> versions and wouldn&#8217;t create a smart suggestions on my 404 page.</p>
<p>Enter <a href="http://wordpress.org/extend/plugins/redirection/" target="_blank">Redirection</a>. Redirection gives you a menu in the admin interface which allows you to easily create and maintain 301 and 302 redirections (among other features). Here is a screenshot of what it looks like once activated:</p>
<p><a href="http://www.surlyjake.com/2011/09/wordpress-redirection-plugin/wordpress-redirection-plugin/" rel="attachment wp-att-818"><img class="size-large wp-image-818 alignnone" title="wordpress-redirection-plugin" src="http://www.surlyjake.com/wp-content/uploads/2011/09/wordpress-redirection-plugin-1024x389.jpg" alt="" width="570" height="216" /></a></p>
<p>From the screenshot, you can see that I was able to create a simple 301 redirect from a page on my WordPress instance to an external website where the content will live from now on.  The second rule allowed me to match the URL using a regular expression and redirect it to another page on my site. This is a great piece of software.</p>
<p>One issue I ran into when testing the plugin was that edits I made did not seem to be taking effect. This turned out to simply be my browser caching the 301 response. I recommend that you either manually clear the cache or download the <a href="http://chrispederick.com/work/web-developer/" target="_blank">web developer toolbar</a> and disable cache.  I should also note that my server runs nginx and not the Apache web server. I simply deleted the redirection &#8216;module&#8217; for Apache which attempts to create .htaccess rules to perform the redirections. Without the Apache module, WordPress handles the redirections.</p>
<p>Redirection Plugin documentation: <a href="http://urbangiraffe.com/plugins/redirection/" target="_blank">http://urbangiraffe.com/plugins/redirection/</a></p>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2011/09/wordpress-redirection-plugin/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2011/09/wordpress-redirection-plugin/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Prevent samba from creating home directory for machine accounts.</title>
		<link>http://www.surlyjake.com/2011/08/prevent-samba-from-creating-home-directory-for-machine-accounts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=prevent-samba-from-creating-home-directory-for-machine-accounts</link>
		<comments>http://www.surlyjake.com/2011/08/prevent-samba-from-creating-home-directory-for-machine-accounts/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 22:34:29 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=367</guid>
		<description><![CDATA[Since this setup automatically creates a home directory for a user as soon as they access the machine (via samba, ssh, console), I noticed some directories being created for computer accounts.  To prevent this,  I have added a line that only &#8220;Domain Users&#8221; are allowed to authenticate.  To add this: wbinfo -n "Domain Users" It [...]]]></description>
			<content:encoded><![CDATA[<p>Since this setup automatically creates a home directory for a user as soon as they access the machine (via samba, ssh, console), I noticed some directories being created for computer accounts.  To prevent this,  I have added a line that only &#8220;Domain Users&#8221; are allowed to authenticate.  To add this:</p>
<pre><code>wbinfo -n "Domain Users"</code></pre>
<p>It will spit out the SID for the Domain Users group. Something like this:</p>
<pre><code>S-1-5-21-((some number))-((some number))-((some number)) Domain Group (2)</code></pre>
<p>Take that number and change the Pam_winbind.so line in /etc/pam.d/common-session to look like this:</p>
<pre><code>session sufficient pam_winbind.so require_membership_of=S-1-5-21-((some number))-((some number))-((some number)</code></pre>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2011/08/prevent-samba-from-creating-home-directory-for-machine-accounts/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2011/08/prevent-samba-from-creating-home-directory-for-machine-accounts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a single standalone .exe from a Python program</title>
		<link>http://www.surlyjake.com/2011/03/create-a-single-standalone-exe-from-a-python-program/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=create-a-single-standalone-exe-from-a-python-program</link>
		<comments>http://www.surlyjake.com/2011/03/create-a-single-standalone-exe-from-a-python-program/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 13:53:00 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[configure]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=754</guid>
		<description><![CDATA[I have been working on a small windows command line tool that I wanted to distribute it as a single executable file on windows. I tried cx_freeze and py2exe. Both of these tools worked well, but I couldn&#8217;t find an easy way to compress make the whole program into a .exe file. py2exe and cx_freeze [...]]]></description>
			<content:encoded><![CDATA[<p>I have been working on a small <a href="http://www.surlyjake.com/tag/windows/" class="st_tag internal_tag" rel="tag" title="Posts tagged with windows">windows</a> command line tool that I wanted to distribute it as a single executable file on <a href="http://www.surlyjake.com/tag/windows/" class="st_tag internal_tag" rel="tag" title="Posts tagged with windows">windows</a>. I tried cx_freeze and py2exe. Both of these tools worked well, but I couldn&#8217;t find an easy way to compress make the whole program into a .exe file. py2exe and cx_freeze both create working programs, but there are always some dependent .zip archive or .dll&#8217;s somewhere that need to be distributed with it. Pyinstaller, I found, actually compresses everything into a single .exe. This makes a pretty big executable (my small command line utility created a 5MB .exe file), but it&#8217;s simple and it works.</p>
<p>To use pyinstaller:</p>
<ol>
<li> grab pyinstaller 1.5rc (1.4 doesn&#8217;t work with <a href="http://www.surlyjake.com/tag/python-2/" class="st_tag internal_tag" rel="tag" title="Posts tagged with python">python</a> 2.7). <a href="http://www.surlyjake.com/tag/extract/" class="st_tag internal_tag" rel="tag" title="Posts tagged with extract">extract</a> the zip file anywhere.</li>
<li>change directories to the pyinstaller folder you just created.</li>
<li>Before you create your first executable, you will have to run this once.</li>
<pre><code>python <a href="http://www.surlyjake.com/tag/configure/" class="st_tag internal_tag" rel="tag" title="Posts tagged with configure">configure</a>.py</code></pre>
<li>Now, pyinstall needs to scan through your program and create what they call a spec file.</li>
<pre><code>python makespec.py --onefile path\to\program\program.py</code></pre>
<li>Now, run this command to generate the executable.</li>
<pre><code>python build.py program\program.spec</code></pre>
</ol>
<p>Once the command has finished, the standalone executable will be available in the program\dist folder inside of pyinstaller.<br />
Instructions for how to do this for a <a href="http://www.surlyjake.com/tag/linux/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Linux">linux</a> executable on <a href="http://www.surlyjake.com/tag/ubuntu/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ubuntu">ubuntu</a> linux can be found here: <a href="http://excid3.com/blog/2009/12/pyinstaller-a-simple-tutorial/">http://excid3.com/blog/2009/12/pyinstaller-a-simple-tutorial/</a>. You can find more info on pyinstaller at their website: <a href="http://www.pyinstaller.org/">http://www.pyinstaller.org/</a>.</p>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2011/03/create-a-single-standalone-exe-from-a-python-program/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2011/03/create-a-single-standalone-exe-from-a-python-program/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Install Open-VM-tools on Debian 6 squeeze</title>
		<link>http://www.surlyjake.com/2011/02/install-open-vm-tools-on-debian-6-squeeze/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=install-open-vm-tools-on-debian-6-squeeze</link>
		<comments>http://www.surlyjake.com/2011/02/install-open-vm-tools-on-debian-6-squeeze/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 21:51:53 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Debian Squeeze]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[squeeze]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[VM]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[vmware tools]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=700</guid>
		<description><![CDATA[Installing Open Virtual Machine Tools is a nice alternative to managing and installing the vmware tools package that comes with Vmware&#8217;s hypervisor products.  It allows you to use APT to manage all the dependencies and updates. Module assistant will recompile the kernel modules for you automatically when you update kernels too. I have verified that [...]]]></description>
			<content:encoded><![CDATA[<p>Installing Open <a href="http://www.surlyjake.com/tag/virtual-machine/" class="st_tag internal_tag" rel="tag" title="Posts tagged with virtual machine">Virtual Machine</a> Tools is a nice alternative to managing and installing the <a href="http://www.surlyjake.com/tag/vmware/" class="st_tag internal_tag" rel="tag" title="Posts tagged with VMware">vmware</a> tools package that comes with <a href="http://www.surlyjake.com/tag/vmware/" class="st_tag internal_tag" rel="tag" title="Posts tagged with VMware">Vmware</a>&#8217;s hypervisor products.  It allows you to use APT to manage all the dependencies and updates. Module assistant will recompile the kernel modules for you automatically when you update kernels too.</p>
<p>I have verified that this configuration works under ESXi 4.1.0, 260247 and a new <a href="http://www.surlyjake.com/tag/squeeze/" class="st_tag internal_tag" rel="tag" title="Posts tagged with squeeze">Squeeze</a> <a href="http://www.surlyjake.com/tag/install/" class="st_tag internal_tag" rel="tag" title="Posts tagged with install">install</a>. All of the essential functions like being able to see guest OS information on the Vsphere summary page and performing &#8220;Shut Down Guest&#8221; and &#8220;Restart Guest&#8221; all work as expected. If your experiences vary, please leave a comment</p>
<p><em>This should all be performed by the root user (otherwise prepend &#8216;sudo&#8217; to the commands if you must use sudo). </em><br />
The first thing you need to do is add the &#8216;contrib&#8217; archive to your apt sources config:</p>
<pre><code>nano /etc/apt/sources.list</code></pre>
<p>Add the &#8216;contrib&#8217; to the end of these source lines. I use the <a href="http://www.surlyjake.com/tag/debian/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Debian">debian</a>.uchicago.edu repository, so mine look like this on a new install:</p>
<pre><code>deb http://debian.uchicago.edu/debian/ squeeze main contrib
deb-src http://debian.uchicago.edu/debian/ squeeze main contrib</code></pre>
<p>After you save changes to the file, simply update your package list and perform the install:</p>
<pre><code>apt-get update
apt-get install open-<a href="http://www.surlyjake.com/tag/vm/" class="st_tag internal_tag" rel="tag" title="Posts tagged with VM">vm</a>-tools open-<a href="http://www.surlyjake.com/tag/vm/" class="st_tag internal_tag" rel="tag" title="Posts tagged with VM">vm</a>-source</code></pre>
<p>You might see an error that looks like this:</p>
<pre><code>Loading open-vm-tools modules: vmhgfsFATAL: Module vmhgfs not found.
 vmmemctlFATAL: Module vmmemctl not found.
 vmsyncFATAL: Module vmsync not found.</code></pre>
<p>Don&#8217;t worry, this is because we have not installed the kernel modules for some of the more advanced VMware functions like the vmhgfs file system, Memory Balloon (vmmemctl) Driver,  and vmsync, which helps freeze the VM while taking snapshots.<br />
To install these kernel modules, we&#8217;re going to use module-assistant. It will compile the modules for your kernel:</p>
<pre><code>module-assistant auto-install open-vm -i</code></pre>
<p>The &#8216;-i&#8217; puts module assistant into non-interactive mode. It wont ask you to confirm any additional package installs necesarry to set up the build environment.<br />
If you&#8217;re running a server without a Graphical environment, you&#8217;re finished. If you want features such as automatically adjusting the VM&#8217;s monitor resolution or allowing your mouse to seamlessly move between your host system and the VM, you need to install one more package:</p>
<pre><code>apt-get install open-vm-toolbox</code></pre>
<p>Now you won&#8217;t need to use CTRL+ALT to switch back and forth.</p>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2011/02/install-open-vm-tools-on-debian-6-squeeze/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2011/02/install-open-vm-tools-on-debian-6-squeeze/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>Tar extract destination folder</title>
		<link>http://www.surlyjake.com/2011/02/tar-extract-destination-folder/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tar-extract-destination-folder</link>
		<comments>http://www.surlyjake.com/2011/02/tar-extract-destination-folder/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 17:51:10 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[extract]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=698</guid>
		<description><![CDATA[Tar can redirect extracted files to a different folder. This can be handy if you want to unpack a tar archive stored on a cd or other read-only media and want to eliminate the step of first copying the archive, extracting it, then deleting the extra tar.  All you have to do is add a [...]]]></description>
			<content:encoded><![CDATA[<p>Tar can redirect extracted files to a different folder. This can be handy if you want to unpack a tar archive stored on a cd or other read-only media and want to eliminate the step of first copying the archive, extracting it, then deleting the extra tar.  All you have to do is add a &#8216;-C &lt;target folder&gt;&#8217; to the tar command.   So here&#8217;s an example using the <a href="http://www.surlyjake.com/tag/vmware/" class="st_tag internal_tag" rel="tag" title="Posts tagged with VMware">VMware</a> Tools tarball:</p>
<pre><code># tar -C /root -zxvf /media/cdrom0/VMwareTools-8.3.2-257589.tar.gz</code></pre>
<p>This will redirect the extracted files into the /root folder. simple</p>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2011/02/tar-extract-destination-folder/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2011/02/tar-extract-destination-folder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brasero, no option for creating ISO</title>
		<link>http://www.surlyjake.com/2011/01/brasero-no-option-for-creating-iso/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=brasero-no-option-for-creating-iso</link>
		<comments>http://www.surlyjake.com/2011/01/brasero-no-option-for-creating-iso/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 19:37:20 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Brasero]]></category>
		<category><![CDATA[ISO]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=689</guid>
		<description><![CDATA[I love Brasero. It&#8217;s simple, lightweight, and comes with Ubuntu. Recently, when I wanted to back up a disk, ISO was not on the list of formats. As is usual, the issue was a missing package: brasero-cdrkit. apt-get install brasero-cdrkit Now, .ISO (ISO9960) will be an available disk format for you under Brasero.]]></description>
			<content:encoded><![CDATA[<p>I love <a href="http://www.surlyjake.com/tag/brasero/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Brasero">Brasero</a>. It&#8217;s simple, lightweight, and comes with <a href="http://www.surlyjake.com/tag/ubuntu/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Ubuntu">Ubuntu</a>. Recently, when I wanted to back up a disk, <a href="http://www.surlyjake.com/tag/iso/" class="st_tag internal_tag" rel="tag" title="Posts tagged with ISO">ISO</a> was not on the list of formats. As is usual, the issue was a missing package: <a href="http://www.surlyjake.com/tag/brasero/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Brasero">brasero</a>-cdrkit.</p>
<pre><code>apt-get <a href="http://www.surlyjake.com/tag/install/" class="st_tag internal_tag" rel="tag" title="Posts tagged with install">install</a> brasero-cdrkit</code></pre>
<p>Now, .ISO (ISO9960) will be an available disk format for you under Brasero.</p>
<pre><a href="http://www.surlyjake.com/wp-content/uploads/2011/01/Brasero-iso.jpg"><img class="alignnone size-full wp-image-690" title="Brasero-iso" src="http://www.surlyjake.com/wp-content/uploads/2011/01/Brasero-iso.jpg" alt="" width="552" height="520" /></a></pre>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2011/01/brasero-no-option-for-creating-iso/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2011/01/brasero-no-option-for-creating-iso/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Tandberg endpoints cannot establish calls over Juniper Routers</title>
		<link>http://www.surlyjake.com/2010/11/tandberg-endpoints-cannot-establish-calls-over-juniper-routers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tandberg-endpoints-cannot-establish-calls-over-juniper-routers</link>
		<comments>http://www.surlyjake.com/2010/11/tandberg-endpoints-cannot-establish-calls-over-juniper-routers/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 16:52:08 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Video Conferencing]]></category>
		<category><![CDATA[alg]]></category>
		<category><![CDATA[error codes]]></category>
		<category><![CDATA[gatekeeper]]></category>
		<category><![CDATA[h323]]></category>
		<category><![CDATA[junos]]></category>
		<category><![CDATA[routers]]></category>
		<category><![CDATA[sip]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=684</guid>
		<description><![CDATA[This is a nasty little issue. On my private network, suddenly some endpoints would refuse to establish calls made over SIP or H323. Error codes would be: channel unacceptable 487 / Request Terminated 480 / Temporarily Not Available Not particularly helpful information. After all the packet sniffing and diagnostic checks, it appeared packets were being [...]]]></description>
			<content:encoded><![CDATA[<p>This is a nasty little issue. On my private network, suddenly some endpoints  would refuse to establish calls made over <a href="http://www.surlyjake.com/tag/sip/" class="st_tag internal_tag" rel="tag" title="Posts tagged with sip">SIP</a> or <a href="http://www.surlyjake.com/tag/h323/" class="st_tag internal_tag" rel="tag" title="Posts tagged with h323">H323</a>. <a href="http://www.surlyjake.com/tag/error-codes/" class="st_tag internal_tag" rel="tag" title="Posts tagged with error codes">Error codes</a> would  be:</p>
<pre>channel unacceptable
487 / Request Terminated
480 / Temporarily Not Available</pre>
<p>Not particularly helpful information. After all the packet sniffing  and diagnostic checks, it appeared packets were being rewritten or  dropped between the endpoint and our VCS. The culprit here is Juniper&#8217;s  &#8216;<a href="http://www.surlyjake.com/tag/alg/" class="st_tag internal_tag" rel="tag" title="Posts tagged with alg">ALG</a>&#8217; for SIP and H323 traffic. I don&#8217;t have the time not to figure out  exactly why or how it was breaking my calls, but i do know that in my  case, it wasn&#8217;t needed. Disable the SIP and H323 <a href="http://www.surlyjake.com/tag/alg/" class="st_tag internal_tag" rel="tag" title="Posts tagged with alg">ALG</a>&#8217;s (in the SRX web  UI under <a href="http://www.surlyjake.com/tag/configure/" class="st_tag internal_tag" rel="tag" title="Posts tagged with configure">Configure</a> -&gt; security -&gt; <a href="http://www.surlyjake.com/tag/alg/" class="st_tag internal_tag" rel="tag" title="Posts tagged with alg">ALG</a>. The endpoints will start  working again after your reboot them and allow them to re-register to  your <a href="http://www.surlyjake.com/tag/gatekeeper/" class="st_tag internal_tag" rel="tag" title="Posts tagged with gatekeeper">gatekeeper</a>.</p>
<p>More reading:</p>
<p><a href="http://www.juniper.net/techpubs/software/junos-security/junos-security95/junos-security-swconfig-security/id-79332.html#id-79332"> http://www.juniper.net/techpubs/software/junos-security/junos-security95/junos-security-swconfig-security/id-79332.html#id-79332</a></p>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2010/11/tandberg-endpoints-cannot-establish-calls-over-juniper-routers/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2010/11/tandberg-endpoints-cannot-establish-calls-over-juniper-routers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring Flexlm usage with Zabbix</title>
		<link>http://www.surlyjake.com/2010/11/monitoring-flexlm-usage-with-zabbix/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=monitoring-flexlm-usage-with-zabbix</link>
		<comments>http://www.surlyjake.com/2010/11/monitoring-flexlm-usage-with-zabbix/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 20:16:10 +0000</pubDate>
		<dc:creator>jacob</dc:creator>
				<category><![CDATA[Zabbix]]></category>
		<category><![CDATA[gnu tools]]></category>
		<category><![CDATA[license usage]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[lmtools]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.surlyjake.com/?p=677</guid>
		<description><![CDATA[Flexlm license usage can be a hard thing to accurately measure and monitor. Luckily, the output from lmutil can be used to display license usage. First thing to do is locate the lmutil binary and try to get it to run. I use Flexlm for autodesk on Windows and ESRI on linux(centOS). Windows: This server [...]]]></description>
			<content:encoded><![CDATA[<p>Flexlm <a href="http://www.surlyjake.com/tag/license-usage/" class="st_tag internal_tag" rel="tag" title="Posts tagged with license usage">license usage</a> can be a hard thing to accurately measure and monitor. Luckily, the output from lmutil can be used to display <a href="http://www.surlyjake.com/tag/license-usage/" class="st_tag internal_tag" rel="tag" title="Posts tagged with license usage">license usage</a>. First thing to do is locate the lmutil binary and try to get it to run. I use Flexlm for autodesk on <a href="http://www.surlyjake.com/tag/windows/" class="st_tag internal_tag" rel="tag" title="Posts tagged with windows">Windows</a> and ESRI on <a href="http://www.surlyjake.com/tag/linux/" class="st_tag internal_tag" rel="tag" title="Posts tagged with Linux">linux</a>(centOS).</p>
<p style="padding-left: 30px;"><strong>Windows:</strong><br />
This server seemed to want the  license file specified. You may need to launch the <a href="http://www.surlyjake.com/tag/lmtools/" class="st_tag internal_tag" rel="tag" title="Posts tagged with lmtools">lmtools</a> GUI tool and  watch the status bar for the path to it. This is what mine looked like:</p>
<pre><code>"c:\program files\autodesk network license manager\lmutil" lmstat -c "c:\program files\autodesk network license manager\license\license.lic" -a</code></pre>
<p style="padding-left: 30px;"><strong>Linux:</strong></p>
<pre><code>/home/esri/arcgis/license10.0/bin/lmutil lmstat -a</code></pre>
<p>That will spit out the current license usage for all your products. To isolate the numbers we want to monitor, we will be piping the output into some other commands like find and cut.<br />
I recommend using the <a href="http://www.surlyjake.com/tag/gnu-tools/" class="st_tag internal_tag" rel="tag" title="Posts tagged with gnu tools">GNU tools</a> for windows http://gnuwin32.sourceforge.net/. These examples use the built-in &#8216;find&#8217; utility, and a &#8216;cut.exe&#8217; tool i found googling around. I had overlooked the gnutools when I first set this up. My mistake can be your gain. With gnutools, it will be easy to isolate the output you want using &#8216;grep&#8217; and &#8216;cut&#8217;. First, isolate the line you are looking for with grep. You will have to figure out what feature code you want to monitor. mine looks like this:</p>
<p style="padding-left: 30px;"><strong>Windows:</strong></p>
<pre><code>"c:\program files\autodesk network license manager\lmutil" lmstat -c "c:\program files\autodesk network license manager\license\license.lic" -a | find /i "64300acd_f:"</code></pre>
<p style="padding-left: 30px;"><strong>Linux:</strong></p>
<pre><code>/home/esri/arcgis/license10.0/bin/lmutil lmstat -a | grep ARC/INFO</code></pre>
<p>now that you have the right line,  you can trim the extra characters with &#8216;cut&#8217;. It will take some experimentation to get it right.:</p>
<p style="padding-left: 30px;"><strong>Windows:</strong></p>
<pre><code>"c:\program files\autodesk network license manager\lmutil" lmstat -c "c:\program files\autodesk network license manager\license\license.lic" -a | find /i "64300acd_f:" | cut -c 62-64</code></pre>
<p style="padding-left: 30px;"><strong>Linux:</strong></p>
<pre><code>/home/esri/arcgis/license10.0/bin/lmutil lmstat -a | grep ARC/INFO | cut -c 59-61</code></pre>
<p>The output now should be only the number of licenses being used.</p>
<p>To allow zabbix to monitor this value, we need to create a &#8216;UserParameter&#8217; read up on it here: <a href="http://www.zabbix.com/documentation/1.8/manual/config/user_parameters">http://www.zabbix.com/documentation/1.8/manual/config/user_parameters</a>. This is what the parameter looks like on my servers:</p>
<p style="padding-left: 30px;"><strong>Windows:</strong></p>
<pre><code>UserParameter=licenses.autocad.used,"c:\program files\autodesk network license manager\lmutil" lmstat -c "c:\program files\autodesk network license manager\license\license.lic" -a | find /i "64300acd_f:" | cut -c 62-64</code></pre>
<p style="padding-left: 30px;"><strong>Linux:</strong></p>
<pre><code>UserParameter=licenses.arcinfo.used,/home/esri/arcgis/license10.0/bin/lmutil lmstat -a | grep ARC/INFO | cut -c 59-61</code></pre>
<p>Once you have the userparameter created on the license server, restart the agent and add an item in zabbix to begin collecting values.</p>
<div class="none"><div class="g-plusone" data-href="http://www.surlyjake.com/2010/11/monitoring-flexlm-usage-with-zabbix/" size="standard" count="true"></div></div>]]></content:encoded>
			<wfw:commentRss>http://www.surlyjake.com/2010/11/monitoring-flexlm-usage-with-zabbix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

