<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7265206304215695321</id><updated>2024-10-24T11:38:13.708+01:00</updated><category term="linux"/><category term="mint"/><category term="ruby"/><category term="rails"/><category term="script"/><category term="R"/><category term="blogger"/><category term="hibernate"/><category term="ubuntu"/><category term="CSS"/><category term="bodhi"/><category term="latex"/><category term="rvm"/><category term="s2disk"/><category term="bash"/><category term="error"/><category term="heroku"/><category term="image"/><category term="matlab"/><category term="nomachine"/><category term="rake"/><category term="remote desktop"/><category term="repair"/><category term="rubygems"/><category term="swap"/><category term="terminal"/><category term="thinlinc"/><category term="windows"/><category term="#commandline"/><category term="#linux"/><category term="#startup #entrepreneur #failfast"/><category term="1.9.3"/><category term="12.04"/><category term="CloneZilla"/><category term="EaseUs Todo Backup Free 4.0"/><category term="RAM"/><category term="RGtk2"/><category term="adt"/><category term="algorithm"/><category term="android"/><category term="apt"/><category term="aspell"/><category term="banshee"/><category term="betty and george"/><category term="cairo-dock"/><category term="cd"/><category term="clone"/><category term="command line"/><category term="csv"/><category term="cut"/><category term="debian"/><category term="desktop"/><category term="development environment"/><category term="eclipse"/><category term="editor"/><category term="enlightenment"/><category term="exec"/><category term="flickr"/><category term="flickraw"/><category term="gedit"/><category term="glade"/><category term="go"/><category term="hard drive"/><category term="hardware"/><category term="header"/><category term="hibernation"/><category term="html"/><category term="juniper"/><category term="keyboard"/><category term="kill -9"/><category term="launcher"/><category term="launchy"/><category term="layout"/><category term="less"/><category term="library"/><category term="licensing"/><category term="mistake"/><category term="mount"/><category term="music"/><category term="nautilus"/><category term="navbar"/><category term="nmcli"/><category term="no machine"/><category term="nx"/><category term="package"/><category term="pandoc"/><category term="pg"/><category term="powermanagement-interface"/><category term="primary monitor"/><category term="print screen"/><category term="programming"/><category term="ps"/><category term="rattle"/><category term="redcar"/><category term="remote"/><category term="remotedesktop"/><category term="ruby-gnome2"/><category term="shoes"/><category term="sidebar"/><category term="source control"/><category term="spell check"/><category term="spss"/><category term="ssl"/><category term="strings"/><category term="sudo"/><category term="sudoers"/><category term="tabs"/><category term="tdd"/><category term="texlive-science"/><category term="themes"/><category term="user interface"/><category term="visual ruby"/><category term="vpn"/><category term="wc"/><category term="webvpn"/><category term="xfce"/><title type='text'>Mat Alan Gilbert: IT Notes - Software Development and Other Scribbles</title><subtitle type='html'>Assorted notes on my development experiences, and other useful workflow and environment tips, for Windows and Linux.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>62</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-3673188147686133356</id><published>2013-11-28T13:33:00.000+00:00</published><updated>2013-11-28T13:34:17.134+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cd"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="terminal"/><title type='text'>Going back to a previous directory in the Linux terminal</title><content type='html'>&amp;nbsp;A little cd trick to &lt;i&gt;cd&lt;/i&gt; back  in Linux terminal history:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; cd -  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
So useful I had to share!
</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/3673188147686133356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/11/cd-back-to-previous-directory-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3673188147686133356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3673188147686133356'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/11/cd-back-to-previous-directory-linux.html' title='Going back to a previous directory in the Linux terminal'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-6651472825028311063</id><published>2013-11-27T13:20:00.001+00:00</published><updated>2013-11-27T13:20:22.926+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="less"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type='text'>Adding Syntax Highlighting to Linux less</title><content type='html'>Install source-highlight:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get install source-highlight  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Add the following two lines to&lt;i&gt;~/.bashrc&lt;/i&gt;&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; export LESSOPEN=&quot;| /usr/share/source-highlight/src-hilite-lesspipe.sh %s&quot;  
 export LESS=&#39; -R &#39;  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Now source files opened with &lt;i&gt;less &lt;/i&gt;will be nicely syntax highlighted. &lt;i&gt;source-highlight&lt;/i&gt; supports many languages - see&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; source-highlight --lang-list  
&lt;/code&gt;&lt;/pre&gt;
for a full listing.</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/6651472825028311063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/11/adding-syntax-highlighting-to-linux-less.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/6651472825028311063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/6651472825028311063'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/11/adding-syntax-highlighting-to-linux-less.html' title='Adding Syntax Highlighting to Linux less'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-8336702806545358730</id><published>2013-05-07T10:30:00.000+01:00</published><updated>2013-05-07T10:30:02.213+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bodhi"/><category scheme="http://www.blogger.com/atom/ns#" term="enlightenment"/><category scheme="http://www.blogger.com/atom/ns#" term="nautilus"/><title type='text'>Using Nautilus file manager with Enlightenment window manager</title><content type='html'>I&#39;m a fan of &lt;a href=&quot;http://www.bodhilinux.com/&quot; target=&quot;_blank&quot;&gt;Bodhi&lt;/a&gt; Linux, which uses the &lt;a href=&quot;http://www.enlightenment.org/&quot; target=&quot;_blank&quot;&gt;Enlightenment&lt;/a&gt; window manager and is pretty speedy on all kinds of hardware. Unfortunately however, the built in file manager isn&#39;t yet fully functional in my opinion. As &lt;a href=&quot;http://db.tt/O4BgfACR&quot; target=&quot;_blank&quot;&gt;Dropbox&lt;/a&gt; has a dependency on &lt;a href=&quot;http://en.wikipedia.org/wiki/Nautilus_(file_manager)&quot; target=&quot;_blank&quot;&gt;Nautilus&lt;/a&gt;, I&#39;ve integrated that into Enlightenment as the primary file manager.&lt;br /&gt;
&lt;br /&gt;
To do this, we need to start Nautilus with the &lt;i&gt;--no-desktop &lt;/i&gt;option. Start by making moving &lt;i&gt;/usr/bin/nautilus &lt;/i&gt;to &lt;i&gt;/usr/bin/nautilus.original&lt;/i&gt;, and create a new script at &lt;i&gt;/usr/bin/nautilus&lt;/i&gt;&amp;nbsp;containing the following command:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; #!/bin/bash  
 nautilus.original --no-desktop $@ &amp;amp;  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
The &lt;i&gt;$@ &lt;/i&gt;expands any passed arguments, allowing the use of the script as if it were the original Nautilus binary.&lt;br /&gt;
&lt;br /&gt;
To ensure Enlightenment uses only Nautilus, we need to disable the integrated file manager from the Modules settings (&lt;i&gt;Run Everything -&amp;gt; Modules -&amp;gt; Files)&lt;/i&gt;. Disable &lt;i&gt;EFM (Starter) &lt;/i&gt;and &lt;i&gt;EFM Operation Info &lt;/i&gt;and close the settings window.&lt;br /&gt;
&lt;br /&gt;
If you use the &lt;i&gt;Places &lt;/i&gt;module, either on the desktop or in a panel, you&#39;ll also want to ensure that this launches Nautilus instead of the integrated file manager. To do this, right-click on the gadget, then go to &lt;i&gt;Settings. &lt;/i&gt;&amp;nbsp;Finally, select &lt;i&gt;Use a custom file manager&lt;/i&gt;&amp;nbsp;and enter &lt;i&gt;nautilus&lt;/i&gt;&amp;nbsp;in the box.&lt;br /&gt;
&lt;br /&gt;
And we&#39;re done - we&#39;re now using Nautilus as a replacement for the Enlightenment File Manager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;References:[&lt;a href=&quot;http://crunchbang.org/forums/viewtopic.php?id=10489&quot; target=&quot;_blank&quot;&gt;Crunchbang Forums: Make nautilus --no-desktop default.&lt;/a&gt;]&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/8336702806545358730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/05/using-nautilus-file-manager-with-enlightenment-bodhi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/8336702806545358730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/8336702806545358730'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/05/using-nautilus-file-manager-with-enlightenment-bodhi.html' title='Using Nautilus file manager with Enlightenment window manager'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-824822019592583267</id><published>2013-04-06T21:15:00.001+01:00</published><updated>2013-04-06T21:15:53.456+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="go"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><title type='text'>Scanf in Go lang on Windows</title><content type='html'>A little gotcha when using &lt;a href=&quot;http://fmt.scanf/&quot;&gt;&lt;i&gt;fmt.Scanf&lt;/i&gt;&lt;/a&gt; in &lt;a href=&quot;http://golang.org/&quot; target=&quot;_blank&quot;&gt;Go&lt;/a&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;fmt.Scanf&lt;/i&gt; currently relies on the Unix line ending &lt;i&gt;\n,&lt;/i&gt;&amp;nbsp;while Windows uses &lt;i&gt;\r\n&lt;/i&gt;. This means that when using fmt.Scanf, you must include the &lt;i&gt;\n &lt;/i&gt;if you&#39;re building your Go program for Windows. For example:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; fmt.Scanf(&quot;%d&quot;, &amp;amp;num)  
&lt;/code&gt;&lt;/pre&gt;
will work in Unix but not in Windows. You&#39;re most likely to notice this when using &lt;i&gt;fmt.Scanf &lt;/i&gt;multiple times - either in a for loop or simply sequentially. &lt;i&gt;fmt.Scanf&lt;/i&gt; will likely appear to run twice as often as you expect, leading to unexpected program flow.&lt;br /&gt;
&lt;br /&gt;
To resolve this issue, just make sure to include the &lt;i&gt;\n &lt;/i&gt;in your use of &lt;i&gt;fmt.Scanf&lt;/i&gt;, as demonstrated below.&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; fmt.Scanf(&quot;%d\n&quot;, &amp;amp;num)  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Incidentally, if you&#39;re trying to track down errors like this one, you can always check function error codes, as demonstrated below.&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt;  n, err := fmt.Scanf(&quot;%d&quot;, &amp;amp;num)  
     if err != nil {  
       fmt.Println(n, err)  
     }  
&lt;/code&gt;&lt;/pre&gt;
In the above case, we get this error:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; 20 unexpected newline  
&lt;/code&gt;&lt;/pre&gt;
Which gives us the line number, and the issue from that line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[References] &lt;/b&gt;&lt;a href=&quot;http://stackoverflow.com/questions/14000082/how-do-i-use-fmt-scanf-in-go&quot; target=&quot;_blank&quot;&gt;Stack Overflow: parallel processing: How do I use fmt.Scanf in Go&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/824822019592583267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/04/scanf-in-go-lang-on-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/824822019592583267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/824822019592583267'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/04/scanf-in-go-lang-on-windows.html' title='Scanf in Go lang on Windows'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-115272499405386702</id><published>2013-03-06T14:42:00.000+00:00</published><updated>2013-03-06T14:42:21.108+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hibernate"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="s2disk"/><title type='text'>Linux hibernate hangs on resume - Solved</title><content type='html'>If s2disk successfully hibernates your machine, but on powering up the resume screen appears to hang, after it has appeared to stop working try pressing &lt;i&gt;Alt-SysRq-E. &lt;/i&gt;This ends all processes in the virtual terminal used by s2disk, and, for me at least, allows me to resume working in my hibernated session.&lt;br /&gt;
&lt;br /&gt;
Odd, but this might help others close to giving up on hibernation in Linux.</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/115272499405386702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/03/linux-hibernate-hangs-on-resume-solved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/115272499405386702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/115272499405386702'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/03/linux-hibernate-hangs-on-resume-solved.html' title='Linux hibernate hangs on resume - Solved'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-109557057044347015</id><published>2013-03-04T08:13:00.000+00:00</published><updated>2013-03-04T08:13:00.546+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="banshee"/><category scheme="http://www.blogger.com/atom/ns#" term="bodhi"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="music"/><title type='text'>Fixing plugin problems with Banshee music player in Linux</title><content type='html'>After installing Banshee on my minimalist &lt;a href=&quot;http://www.bodhilinux.com/&quot; target=&quot;_blank&quot;&gt;Bodhi Linux&lt;/a&gt; install, trying to play music lead to Banshee asking to install plugins, and then hanging. Installing the following packages using the command below resolves the issue.&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo aptitude install gstreamer0.10-plugins-bad gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/109557057044347015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/03/fixing-plugin-problems-banshee-ubuntu-linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/109557057044347015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/109557057044347015'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/03/fixing-plugin-problems-banshee-ubuntu-linux.html' title='Fixing plugin problems with Banshee music player in Linux'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-1061275766367790888</id><published>2013-02-21T16:16:00.000+00:00</published><updated>2013-02-21T16:16:00.764+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="html"/><category scheme="http://www.blogger.com/atom/ns#" term="latex"/><category scheme="http://www.blogger.com/atom/ns#" term="pandoc"/><title type='text'>Converting Latex to HTML using Pandoc</title><content type='html'>Install Pandoc using your disto&#39;s package manager, or by following the installation instructions &lt;a href=&quot;http://johnmacfarlane.net/pandoc/installing.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Then use:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; pandoc input.tex -o output.html --mathjax  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Nice and straightforward!</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/1061275766367790888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/02/converting-latex-to-html-using-pandoc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/1061275766367790888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/1061275766367790888'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/02/converting-latex-to-html-using-pandoc.html' title='Converting Latex to HTML using Pandoc'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-3449531810083841994</id><published>2013-02-20T16:06:00.003+00:00</published><updated>2013-02-20T16:06:43.633+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="nomachine"/><category scheme="http://www.blogger.com/atom/ns#" term="remote desktop"/><category scheme="http://www.blogger.com/atom/ns#" term="thinlinc"/><title type='text'>Linux Remote Desktops: A Comparison</title><content type='html'>&lt;br /&gt;
&lt;i&gt;This is the final post in a three part series exploring Ubuntu-based remote desktop options. See posts &lt;a href=&quot;http://matalangilbert.blogspot.com/2012/11/using-remote-desktop-in-ubuntu-1204.html&quot; target=&quot;_blank&quot;&gt;one&lt;/a&gt; and&amp;nbsp;&lt;a href=&quot;http://matalangilbert.blogspot.com/2013/02/linux-ubuntu-remote-desktop-cendio-thinlinc.html&quot; target=&quot;_blank&quot;&gt;two&lt;/a&gt;&amp;nbsp;for an exploration of &lt;a href=&quot;http://www.nomachine.com/&quot; target=&quot;_blank&quot;&gt;NoMachine&lt;/a&gt; and &lt;a href=&quot;http://www.cendio.com/&quot; target=&quot;_blank&quot;&gt;ThinLinc&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;
&lt;div&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://lifeskillsfromthedojo.com/wp-content/uploads/2012/03/e-balance-01.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;213&quot; src=&quot;http://lifeskillsfromthedojo.com/wp-content/uploads/2012/03/e-balance-01.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
My primary motivation for testing these remote desktop solutions was my desire to find a remote desktop solution that worked as Windows Remote Desktop - in terms of speed and functionality. While Linux and Windows do have differing user paradigms - Windows being designed around a single user logon, I was looking for the ability to log on to my system both at work and at home, resuming my session from wherever I was. My work machine is behind a VPN, and I need my sessions to be responsive enough to work as if I was working on the local machine.&lt;br /&gt;
&lt;br /&gt;
Productivity therefore is of primary importance to me, and closely tied to this is the latency of a connection. I find that a slow, lagging connection impairs not only my ability to work in the graphical environments I require, but also affects my desire and motivation to try to continue to work remotely. For these reasons, I&#39;ve found that using NoMachine, via the &lt;a href=&quot;http://freenx.berlios.de/&quot; target=&quot;_blank&quot;&gt;FreeNx&lt;/a&gt; client is most suitable for my purposes - there was just too much latency within a Cendio Thinlinc connection during my testing. To be clear, your mileage may vary - the latency I experienced may be down to a specific interaction between something in my setup and Thinlinc, but during testing over a number of days, at a variety of times, under different network condition, the NoMachine sessions consistently delivered a near desktop speed experience.&lt;br /&gt;
&lt;br /&gt;
I&#39;m interested to hear about the experience of others, using either of the Linux remote desktop solutions I tested - feel free to add them in the comments below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[Image Credit] &lt;/b&gt;&lt;a href=&quot;http://lifeskillsfromthedojo.com/wp-content/uploads/2012/03/e-balance-01.jpg&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;lifeskillsfromthedojo.com&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/3449531810083841994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/02/linux-ubuntu-remote-desktop-comparison.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3449531810083841994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3449531810083841994'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/02/linux-ubuntu-remote-desktop-comparison.html' title='Linux Remote Desktops: A Comparison'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-1760167665417144004</id><published>2013-02-20T15:32:00.000+00:00</published><updated>2013-02-20T16:23:08.894+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="nomachine"/><category scheme="http://www.blogger.com/atom/ns#" term="remotedesktop"/><category scheme="http://www.blogger.com/atom/ns#" term="thinlinc"/><title type='text'>Another Linux Remote Desktop Solution: Cendio ThinLinc</title><content type='html'>&lt;i&gt;This is the second post in a three part series exploring Ubuntu-based remote desktop options. See posts &lt;a href=&quot;http://matalangilbert.blogspot.co.uk/2012/11/using-remote-desktop-in-ubuntu-1204.html&quot; target=&quot;_blank&quot;&gt;one&lt;/a&gt; and &lt;a href=&quot;http://matalangilbert.blogspot.co.uk/2013/02/linux-ubuntu-remote-desktop-comparison.html&quot; target=&quot;_blank&quot;&gt;three&lt;/a&gt; for further exploration and conclusions.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH4LwqBWh792XOkRX49jGBRam54z15Gbee-26Mk6NP9Py1irdJWTjFlGb5j2HcW52ugp-06ItSA8b9Z2bc9MqtqhqOCugruK5npDi_N6V6Q3ZQlrGAh91zj2sKetSbUKnzucf0Gp4C1KA/s1600/Features-Comparison-300x225.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH4LwqBWh792XOkRX49jGBRam54z15Gbee-26Mk6NP9Py1irdJWTjFlGb5j2HcW52ugp-06ItSA8b9Z2bc9MqtqhqOCugruK5npDi_N6V6Q3ZQlrGAh91zj2sKetSbUKnzucf0Gp4C1KA/s200/Features-Comparison-300x225.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;After the popularity of my &lt;a href=&quot;http://matalangilbert.blogspot.co.uk/2012/11/using-remote-desktop-in-ubuntu-1204.html&quot; target=&quot;_blank&quot;&gt;earlier post&lt;/a&gt; reviewing &lt;a href=&quot;http://freenx.berlios.de/&quot; target=&quot;_blank&quot;&gt;FreeNx&lt;/a&gt;,&amp;nbsp;Pierre Ossman, a developer at &lt;a href=&quot;http://www.cendio.com/&quot; target=&quot;_blank&quot;&gt;Cendio&lt;/a&gt;, informed me of their product, which provides an alternative remote desktop/thin client option for Linux. This post details my comparison of FreeNx and Cendio ThinLinc, as options for remote desktop solutions that rival Windows remote desktop.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Installation and use of Cendio ThinLinc&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Obtaining and installing the software is relatively easy - you do have to give Cendio your email address before they will email you the download link, but the installation instructions are straightforward, and the installer does a good job of pulling in any additional required packages. The &lt;a href=&quot;http://www.cendio.com/downloads/server/install.xhtml&quot; target=&quot;_blank&quot;&gt;installation instructions&lt;/a&gt; simply consist of unzipping the downloaded package and executing an install script.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
For me, the installer did seem to pull a a significant number of additional packages - these packages may just be required as ThinLinc provides a little more functionality than Nx. Overall, the ThinLinc installation took longer and felt a little less friendly than Nx, requiring slightly more configuration and interaction during the install process.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig3UsetStT1iVW8BuKCSAOIaEABuEJ6Qr83MAtFVDXBB2_LC2wQygPjq_jhjufN8OnH47-eQbH0svfjZwRzqgio8xj5Gf8oR_mUUC7zwfMJptQYo-iAywrg3hUQe7Bc1i15bTrC0PySeI/s1600/Screenshot-ThinLinc+Web+Administration+-+Google+Chrome.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;254&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig3UsetStT1iVW8BuKCSAOIaEABuEJ6Qr83MAtFVDXBB2_LC2wQygPjq_jhjufN8OnH47-eQbH0svfjZwRzqgio8xj5Gf8oR_mUUC7zwfMJptQYo-iAywrg3hUQe7Bc1i15bTrC0PySeI/s320/Screenshot-ThinLinc+Web+Administration+-+Google+Chrome.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;ThinLinc administration page&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Once installed, the ThinLinc server is&amp;nbsp;administered&amp;nbsp;via a webpage at &lt;a href=&quot;http://localhost:1010/&quot;&gt;http://localhost:1010&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Downloading and installing the client is also a simple process, and connecting to the server is straightforward, as can be seen in the box below:&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-RUmgM6Sa3Ao760XAy_VlCCRj42OxeuQRoLkjQSNyTyGmw_SzE-RREj0uUl0eg7hn9z2kOOohJbZp8U4jzczV3kynJELLmhztipeSVkf1EUSvYz2JG_3qRDkfAh8WkUgYU2UJ3L0WMq0/s1600/thinlincClient.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;120&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-RUmgM6Sa3Ao760XAy_VlCCRj42OxeuQRoLkjQSNyTyGmw_SzE-RREj0uUl0eg7hn9z2kOOohJbZp8U4jzczV3kynJELLmhztipeSVkf1EUSvYz2JG_3qRDkfAh8WkUgYU2UJ3L0WMq0/s200/thinlincClient.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It took me a bit of time to figure out how to disconnect from a session without logging off - the ability to resume a session from multiple locations is a primary driver of my remote desktop use. After some digging around in the documentation however, I found the &lt;a href=&quot;http://www.cendio.com/resources/docs/tag/client.html#client_session_menu&quot; target=&quot;_blank&quot;&gt;relevant information&lt;/a&gt;&amp;nbsp;- pressing F8 while logged into a remote session pops up a menu that provides the option to disconnect from the session, without ending it.&lt;br /&gt;
&lt;br /&gt;
Now for the best bit - downloading and running the client on the same machine as the server allows you to start a ThinLinc session on that machine. Working in this session then allows connection from another location - using the ThinLinc client at work, for example, leaving programs running and then using the client from home to connect to that same machine gives the same experience as Windows Remote Desktop - the one feature I&#39;ve missed ever since I&#39;ve moved to using Linux full time.&lt;br /&gt;
&lt;br /&gt;
Finally, it&#39;s worth noting that neither &lt;a href=&quot;https://twitter.com/ThinLinc/status/269457621558374400&quot; target=&quot;_blank&quot;&gt;ThinLinc&lt;/a&gt; or &lt;a href=&quot;http://www.nomachine.com/ar/view.php?ar_id=AR0500591&quot; target=&quot;_blank&quot;&gt;NoMachine&lt;/a&gt; support the full Unity desktop that that is default in Ubuntu versions later than 11.04. Because of this, you need to ensure that &lt;i&gt;gnome-session-fallback &lt;/i&gt;is installed:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get install gnome-session-fallback  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The&amp;nbsp;Comparison&lt;/b&gt;&lt;br /&gt;
The results of my comparison can be found in the final post of this series: &lt;a href=&quot;http://matalangilbert.blogspot.com/2013/02/linux-ubuntu-remote-desktop-comparison.html&quot; target=&quot;_blank&quot;&gt;Linux Remote Desktops: A Comparison&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[Image credit] &lt;/b&gt;&lt;a href=&quot;http://www.roommaster2000.co.uk/wp-content/uploads/2012/10/Features-Comparison-300x225.jpg&quot; target=&quot;_blank&quot;&gt;RoomMaster2000&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/1760167665417144004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/02/linux-ubuntu-remote-desktop-cendio-thinlinc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/1760167665417144004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/1760167665417144004'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/02/linux-ubuntu-remote-desktop-cendio-thinlinc.html' title='Another Linux Remote Desktop Solution: Cendio ThinLinc'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjH4LwqBWh792XOkRX49jGBRam54z15Gbee-26Mk6NP9Py1irdJWTjFlGb5j2HcW52ugp-06ItSA8b9Z2bc9MqtqhqOCugruK5npDi_N6V6Q3ZQlrGAh91zj2sKetSbUKnzucf0Gp4C1KA/s72-c/Features-Comparison-300x225.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-5864121693477671036</id><published>2013-02-20T15:13:00.000+00:00</published><updated>2013-02-20T15:13:20.074+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bodhi"/><category scheme="http://www.blogger.com/atom/ns#" term="juniper"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="mint"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="webvpn"/><title type='text'>Juniper Network Connect in Bodhi, Ubuntu and Linux Mint</title><content type='html'>The Juniper Network Connect client simply wouldn&#39;t launch for me under any of the Linux distributions listed in the title of this post, even after trying multiple Java version installations.&lt;br /&gt;
&lt;br /&gt;
Thankfully, Paul Smith at &lt;a href=&quot;http://mad-scientist.us/&quot; target=&quot;_blank&quot;&gt;Mad-Scientist.us&lt;/a&gt;&amp;nbsp;has put together a great script which allows connection to a Juniper WebVPN from a Ubuntu-based distro. He has a great write up on his &lt;a href=&quot;http://mad-scientist.us/juniper.html&quot; target=&quot;_blank&quot;&gt;blog&lt;/a&gt;, so I won&#39;t repeat his instructions here, other than to say he makes it incredibly simple to get connected to your institution WebVPN.&lt;br /&gt;
&lt;br /&gt;
I followed his instructions on a reasonably fresh install of &lt;a href=&quot;https://www.google.co.uk/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;sqi=2&amp;amp;ved=0CDEQFjAA&amp;amp;url=http%3A%2F%2Fwww.bodhilinux.com%2F&amp;amp;ei=G-MkUZKiDomg0QW_34CQDw&amp;amp;usg=AFQjCNEGgYjyW0UeBTke62WVuBobQ2sbIQ&amp;amp;sig2=OYewhn8gCySTUh08kWVpCg&amp;amp;bvm=bv.42661473,d.d2k&quot; target=&quot;_blank&quot;&gt;Bodhi Linux&lt;/a&gt;*, and ended up running into a &lt;i&gt;&quot;missing&amp;nbsp;/etc/resolv.conf&quot; &lt;/i&gt;error. This can be fixed by running the following command:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo dpkg-reconfigure resolvconf  
&lt;/code&gt;&lt;/pre&gt;
Answer &lt;i&gt;Yes &lt;/i&gt;to all the prompts and restart your machine once the tool finishes.&lt;br /&gt;
&lt;br /&gt;
Launching Paul&#39;s script (hosted &lt;a href=&quot;https://github.com/madscientist/msjnc&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; at Github, should you want to check out the code), should now present you with a working GUI, allowing you to connect you to your WebVPN. He also provides the option of connecting via the command line, detailed further in his &lt;a href=&quot;http://mad-scientist.us/juniper.html&quot; target=&quot;_blank&quot;&gt;blog post&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
As usual, any issues or comments in the box below!&lt;br /&gt;
&lt;br /&gt;
* If you haven&#39;t checked this distro out, I highly recommend it - it absolutely flies even on older hardware, and is Ubuntu-based giving access to the huge Ubuntu software repositories&lt;br /&gt;
&lt;br /&gt;
[References]&lt;br /&gt;
&lt;a href=&quot;http://mad-scientist.us/juniper.html&quot; target=&quot;_blank&quot;&gt;Mad-Scientist.us&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://forums.bodhilinux.com/index.php?/topic/5821-dns-issues-on-bodhi-20-solved/&quot; target=&quot;_blank&quot;&gt;Bohdi Linux Forums&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/5864121693477671036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/02/juniper-network-connect-in-bodhi-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/5864121693477671036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/5864121693477671036'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/02/juniper-network-connect-in-bodhi-ubuntu.html' title='Juniper Network Connect in Bodhi, Ubuntu and Linux Mint'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-8176592647634922701</id><published>2013-01-21T15:49:00.002+00:00</published><updated>2013-01-21T15:49:57.840+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="algorithm"/><category scheme="http://www.blogger.com/atom/ns#" term="latex"/><category scheme="http://www.blogger.com/atom/ns#" term="texlive-science"/><title type='text'> LaTeX Error: File `algorithm.sty&#39; not found</title><content type='html'>To resolve this error in a Debian based Linux distribution (Debian, Ubuntu, Mint, etc), the fastest way to continue working is to install the &lt;i&gt;texlive-science &lt;/i&gt;package, using:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get install texlive-science  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/8176592647634922701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2013/01/latex-error-file-algorithm-sty-not-found.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/8176592647634922701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/8176592647634922701'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2013/01/latex-error-file-algorithm-sty-not-found.html' title=' LaTeX Error: File `algorithm.sty&#39; not found'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-3471648547285535372</id><published>2012-12-06T08:04:00.000+00:00</published><updated>2012-12-06T08:04:00.426+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bash"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type='text'>Printing from the Linux command line</title><content type='html'>To print a file from the Linux command line, use the simple command:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; lpr FILENAME  
&lt;/code&gt;&lt;/pre&gt;
It&#39;s that easy!&lt;br /&gt;
&lt;br /&gt;
I came across this while trying to print all pdf files in a directory. To do this, the simple bash script you need is:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; #!/bin/bash  
 for file in *.pdf; do  
   /usr/bin/lpr &quot;$file&quot;  
 done  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Save this into a file - I called mine &lt;i&gt;print-all-pdfs.sh&lt;/i&gt;. Then make it executable using&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; chmod +x &lt;i&gt;print-all-pdfs.sh  &lt;/i&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Copy it to the directory you want to run it in, then execute with&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; ./&lt;i&gt;print-all-pdfs.sh  &lt;/i&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
For an additional challenge, can anyone adapt the above script to print all .pdfs from directories recursively? Answers in the comments below!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[References]&amp;nbsp;&lt;/b&gt;Bash script adapted from a&amp;nbsp;&lt;a href=&quot;http://www.linuxforums.org/forum/programming-scripting/88625-print-pdf-files-folder.html&quot; target=&quot;_blank&quot;&gt;LinuxForums&lt;/a&gt;&amp;nbsp;post.</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/3471648547285535372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/12/print-files-from-linux-command-line.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3471648547285535372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3471648547285535372'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/12/print-files-from-linux-command-line.html' title='Printing from the Linux command line'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-4433347448272403164</id><published>2012-12-05T22:06:00.000+00:00</published><updated>2012-12-05T22:06:00.184+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="heroku"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="rake"/><title type='text'>Notes on using Heroku</title><content type='html'>These are a few common things I find myself looking up when working with Heroku - I update this post if I find myself repeated searching for how to do the same tasks.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
  &lt;b&gt;Running commands from a folder not linked to Heroku&lt;/b&gt;
&lt;/h3&gt;
Simply append &lt;i&gt;--app APP_NAME&lt;/i&gt; to any relevant Heroku command:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt;HEROKU_COMMAND --app APP_NAME  &lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;
  &lt;b&gt;Deployment&lt;/b&gt;
&lt;/h3&gt;
If trying to push to Heroku:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; git push heroku master  
&lt;/code&gt;&lt;/pre&gt;
but get a publickey error:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; Permission denied (publickey).  
 fatal: The remote end hung up unexpectedly  &lt;/code&gt;&lt;/pre&gt;
You need to add your public key to Heroku.&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; heroku keys:add path_to_publickey  &lt;/code&gt;&lt;/pre&gt;
If you don&#39;t have a public key, Heroku can prompt and generate one for you - simply use the command:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; heroku keys:add  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;
 &lt;b&gt;Resetting the application database&lt;/b&gt;
&lt;/h3&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; heroku pg:reset DATABASE_URL  
&lt;/code&gt;&lt;/pre&gt;
To reset the database without a validation prompt, use:
&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; heroku pg:reset DATABASE_URL --confirm APP_NAME  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;h3&gt;
  &lt;b&gt;Rake&lt;/b&gt;
&lt;/h3&gt;
To run a rake task on Heroku, create the task in &lt;i&gt;app/lib/tasks&amp;nbsp;&lt;/i&gt;&lt;i&gt;(Rails)&lt;/i&gt;, test locally&amp;nbsp;then deploy. To run, use:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; heroku run rake TASK_NAME
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
If you have any useful commands you regularly use while working with Heroku, let me know in the comments below!</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/4433347448272403164/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/12/notes-on-using-heroku.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/4433347448272403164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/4433347448272403164'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/12/notes-on-using-heroku.html' title='Notes on using Heroku'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-5037508384838574608</id><published>2012-12-04T12:30:00.000+00:00</published><updated>2012-12-04T12:30:00.509+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="spss"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><category scheme="http://www.blogger.com/atom/ns#" term="xfce"/><title type='text'>How to add a menu item for SPSS in Linux</title><content type='html'>I keep forgetting where SPSS installs itself - this .desktop file may be of help to others too.&lt;br /&gt;
&lt;br /&gt;
Create .desktop file for SPSS:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo leafpad /usr/share/applications/spss.desktop  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Add this text to that file:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; [Desktop Entry]  
 Name=SPSS  
 GenericName=SPSS  
 Comment=Statistics program  
 Exec=/opt/IBM/SPSS/Statistics/19/bin/stats  
 Icon=gnome-monitor  
 Terminal=false  
 Type=Application  
 Categories=Application;Education;  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Save, then log out and back in again, or restart the desktop using&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; xfdesktop --reload  
&lt;/code&gt;&lt;/pre&gt;
if using an XFCE desktop.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;SPSS will now be available under Applications -&amp;gt; Education.</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/5037508384838574608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/12/how-to-add-menu-item-for-spss-in-linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/5037508384838574608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/5037508384838574608'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/12/how-to-add-menu-item-for-spss-in-linux.html' title='How to add a menu item for SPSS in Linux'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-3003551618343985323</id><published>2012-11-26T08:16:00.000+00:00</published><updated>2012-11-26T08:16:00.034+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="#commandline"/><category scheme="http://www.blogger.com/atom/ns#" term="#linux"/><title type='text'>Find all files and move to a target directory from the Linux command line</title><content type='html'>For this example, we&#39;re going to be moving all .mp3 files from the subdirectories of the current directory into current directory.&lt;br /&gt;
&lt;br /&gt;
To do this, we need to combine two different commands. To find all the files in the current directory and its subdirectories, we use the find command:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; find -name \*.mp3  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
The &lt;i&gt;\ &lt;/i&gt;escapes the &lt;i&gt;*&lt;/i&gt;, so it&#39;s interpreted as a wild card on the command line. The &lt;i&gt;-name &lt;/i&gt;argument allows us to check only the file names.&lt;br /&gt;
&lt;br /&gt;
To move files around on the command line, we use the &lt;i&gt;mv &lt;/i&gt;command, and for our example, we add the &lt;i&gt;-t &lt;/i&gt;argument, which lets us define the target directory:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; mv -t &lt;i&gt;&amp;lt;target-directory&amp;gt;&lt;/i&gt; &lt;i&gt;&amp;lt;file-to-move&amp;gt;&lt;/i&gt;
&lt;/code&gt;&lt;/pre&gt;
where &lt;i&gt;target-directory &lt;/i&gt;is where we want to move the file to, and &lt;i&gt;file-to-move&lt;/i&gt;&amp;nbsp;is the file we want to move.&lt;br /&gt;
&lt;br /&gt;
With a bit of command-line magic, we can combine these commands using the &lt;i&gt;-exec &lt;/i&gt;switch on find, to give us our final command:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; find -name \*.mp3 -exec mv -t . {} \+  &lt;/code&gt;&lt;/pre&gt;
&lt;i&gt;-exec&lt;/i&gt;&amp;nbsp;takes the command we want to execute, and &lt;i&gt;{}&amp;nbsp;\+ &lt;/i&gt;appends each find result to the command, which in our case is &lt;i&gt;mv&lt;/i&gt;. So the above line will find all files end in &lt;i&gt;.mp3 &lt;/i&gt;and move them to the current directory.</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/3003551618343985323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/find-mv-linux-command-line.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3003551618343985323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3003551618343985323'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/find-mv-linux-command-line.html' title='Find all files and move to a target directory from the Linux command line'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-3414630790407589204</id><published>2012-11-19T08:30:00.000+00:00</published><updated>2012-11-19T08:30:05.374+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="#startup #entrepreneur #failfast"/><title type='text'>Fail Fast - A Lesson In Not Wasting Time</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;
&lt;div style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;
&lt;img alt=&quot;fail fast&quot; height=&quot;198&quot; src=&quot;http://thumannresources.files.wordpress.com/2010/02/fail-fast.jpg&quot; title=&quot;&quot; width=&quot;320&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
Around a year ago, I had an idea for a small&amp;nbsp;browser&amp;nbsp;based application that had the potential to smooth and streamline a workflow within universities around the country. The concept was simple&amp;nbsp;and wouldn&#39;t have taken a huge amount of time to develop. Given my position working in a university setting, I had the ideal environment to test and prototype, but due to constraints on my time I didn&#39;t take the concept any further.
&lt;br /&gt;
&lt;br /&gt;
Fast forward to last week.&amp;nbsp;I&#39;d finally found the inspiration, motivation, and time to solidify and explore this idea. It took me less than an hour to map out the specifics of my concept, and email a few academic contacts to see what they thought of the idea. Feedback was positive; I&#39;d&amp;nbsp;found a niche.&amp;nbsp;Unfortunately, the very same week, the university have announced that they are trialling a new, much larger system which implements a substantial feature list, and includes the subset of functionality I was aiming to provide.
&lt;br /&gt;
&lt;br /&gt;
Why do I tell you this story? Well, there&#39;s lessons here. Despite my initial disappointment, this is a perfect example of failing fast and learning quickly. While there was a part of me that felt I shouldn&#39;t release my idea into the world until I had built the application and had a full, perfect implementation to demonstrate, had I done this I would have committed hours, days, or weeks of my time to building a system that had &lt;i&gt;zero chance&lt;/i&gt;&amp;nbsp;&lt;i&gt;of ever being used&lt;/i&gt;. Here&#39;s what this experience taught me:
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Talk about your ideas&lt;/b&gt;. It&#39;s natural to feel protective of your concepts, and worry that they might be stolen or plagiarised (or laughed at - see &lt;i&gt;3&lt;b&gt;.&lt;/b&gt;&lt;/i&gt;). In my experience, it&#39;s highly unlikely that they will, and if they do, talking to enough people makes it clear where the idea originated. The knowledge and insights you stand to gain from sharing knowledge and ideas far outweigh any perceived risks of collaboration.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Act Early&lt;/b&gt;. If you have an idea, or discover a niche you could occupy, act on it early. If I&#39;d had the confidence to explore my concept a year earlier, I&#39;d have been first to market, so to speak, and would have been in a much better position to compete with the larger system that has come along now. Who knows, I might have gained enough traction to have become that larger system.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Fight your inner perfectionism&lt;/b&gt;.&amp;nbsp;The world is imperfect, and so your contributions to it can be too. Don&#39;t spend forever perfecting designs, ideas and implementations. However scary it might be, put yourself and your ideas out there, and you&#39;ll be&amp;nbsp;pleasantly&amp;nbsp;surprised&amp;nbsp;at the what happens.&lt;/li&gt;
&lt;/ol&gt;
So there we have it, it took me less than a day to establish that, despite a market need, my good idea wasn&#39;t commercially viable in current circumstances. My time is now free to explore my next project. Next time you find yourself thinking &quot;maybe there&#39;s a need for this...&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp;&lt;/span&gt;one day I&#39;ll have the time...&quot; - take the time to explore, find feedback and fail fast or fly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;[Image credit]&lt;/b&gt;&amp;nbsp;&lt;a href=&quot;http://thumannresources.files.wordpress.com/&quot;&gt;http://thumannresources.files.wordpress.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/3414630790407589204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/fail-fast-lesson-in-not-wasting-time.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3414630790407589204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3414630790407589204'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/fail-fast-lesson-in-not-wasting-time.html' title='Fail Fast - A Lesson In Not Wasting Time'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-2499814085734665231</id><published>2012-11-16T14:08:00.000+00:00</published><updated>2012-11-16T14:14:53.424+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="licensing"/><category scheme="http://www.blogger.com/atom/ns#" term="matlab"/><title type='text'>Finding out what Matlab tooboxes are available for use</title><content type='html'>Finding out what toolboxes are available to a Matlab installation is actually relatively simple - it&#39;s just a case of typing:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; ver  &lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
at the Matlab prompt.&lt;br /&gt;
&lt;br /&gt;
On it&#39;s own, however, this function doesn&#39;t supply much useful information, &lt;i&gt;as it doesn&#39;t tell you what licences are available to the installation&lt;/i&gt;, and hence which toolboxes you can actually use (which is probably what you care about when you&#39;re trying to find out what toolboxes are available).&lt;br /&gt;
&lt;br /&gt;
It is possible to find out what licenses are available to the installation, however it takes a bit more work.&lt;br /&gt;
&lt;br /&gt;
First, we need to define a feature string, which is just a list of all the toolboxes potentially installed:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; featureStr = {&#39;Aerospace_Blockset&#39;; ...  
        &#39;Aerospace_Toolbox&#39;; ...  
        &#39;Bioinformatics_Toolbox&#39;; ...  
        &#39;Communication_Blocks&#39;; ...  
        &#39;Communication_Toolbox&#39;; ...  
        &#39;Compiler&#39;; ...  
        &#39;Control_Toolbox&#39;; ...  
        &#39;Curve_Fitting_Toolbox&#39;; ...  
        &#39;Data_Acq_Toolbox&#39;; ...  
        &#39;Database_Toolbox&#39;; ...  
        &#39;Datafeed_Toolbox&#39;; ...  
        &#39;Dial_and_Gauge_Blocks&#39;; ...  
        &#39;Distrib_Computing_Toolbox&#39;; ...  
        &#39;Econometrics_Toolbox&#39;; ...  
        &#39;EDA_Simulator_Link_DS&#39;; ...  
        &#39;Embedded_Target_c166&#39;; ...  
        &#39;Embedded_Target_c2000&#39;; ...  
        &#39;Embedded_Target_c6000&#39;; ...  
        &#39;Embedded_Target_MPC555&#39;; ...  
        &#39;Excel_Link&#39;; ...  
        &#39;Filter_Design_HDL_Coder&#39;; ...  
        &#39;Filter_Design_Toolbox&#39;; ...  
        &#39;Fin_Derivatives_Toolbox&#39;; ...  
        &#39;Financial_Toolbox&#39;; ...  
        &#39;Fixed_Income_Toolbox&#39;; ...  
        &#39;Fixed_Point_Toolbox&#39;; ...  
        &#39;Fixed-Point_Blocks&#39;; ...  
        &#39;Fuzzy_Toolbox&#39;; ...  
        &#39;GADS_Toolbox&#39;; ...  
        &#39;IDE_Link_MU&#39;; ...  
        &#39;Identification_Toolbox&#39;; ...  
        &#39;Image_Acquisition_Toolbox&#39;; ...  
        &#39;Image_Toolbox&#39;; ...  
        &#39;Instr_Control_Toolbox&#39;; ...  
        &#39;Link_for_Incisive&#39;; ...  
        &#39;Link_for_ModelSim&#39;; ...  
        &#39;Link_for_Tasking&#39;; ...  
        &#39;Link_for_VisualDSP&#39;; ...  
        &#39;MAP_Toolbox&#39;; ...  
        &#39;MATLAB&#39;; ...  
        &#39;MATLAB_Builder_for_dot_Net&#39;; ...  
        &#39;MATLAB_Builder_for_Java&#39;; ...  
        &#39;MATLAB_Distrib_Comp_Engine&#39;; ...  
        &#39;MATLAB_Excel_Builder&#39;; ...  
        &#39;MATLAB_Link_for_CCS&#39;; ...  
        &#39;MATLAB_Report_Gen&#39;; ...  
        &#39;MBC_Toolbox&#39;; ...  
        &#39;MPC_Toolbox&#39;; ...  
        &#39;NCD_Toolbox&#39;; ...  
        &#39;Neural_Network_Toolbox&#39;; ...  
        &#39;OPC_Toolbox&#39;; ...  
        &#39;Optimization_Toolbox&#39;; ...  
        &#39;PDE_Toolbox&#39;; ...  
        &#39;Power_System_Blocks&#39;; ...  
        &#39;Real-Time_Win_Target&#39;; ...  
        &#39;Real-Time_Workshop&#39;; ...  
        &#39;RF_Blockset&#39;; ...  
        &#39;RF_Toolbox&#39;; ...  
        &#39;Robust_Toolbox&#39;; ...  
        &#39;RTW_Embedded_Coder&#39;; ...  
        &#39;Signal_Blocks&#39;; ...  
        &#39;Signal_Toolbox&#39;; ...  
        &#39;SimBiology&#39;; ...  
        &#39;SimDriveline&#39;; ...  
        &#39;SimElectronics&#39;; ...  
        &#39;SimEvents&#39;; ...  
        &#39;SimHydraulics&#39;; ...  
        &#39;SimMechanics&#39;; ...  
        &#39;Simscape&#39;; ...  
        &#39;SIMULINK&#39;; ...  
        &#39;Simulink_Control_Design&#39;; ...  
        &#39;Simulink_Design_Verifier&#39;; ...  
        &#39;Simulink_HDL_Coder&#39;; ...  
        &#39;Simulink_Param_Estimation&#39;; ...  
        &#39;SIMULINK_Report_Gen&#39;; ...  
        &#39;SL_Verification_Validation&#39;; ...  
        &#39;Spline_Toolbox&#39;; ...  
        &#39;Stateflow&#39;; ...  
        &#39;Stateflow_Coder&#39;; ...  
        &#39;Statistics_Toolbox&#39;; ...  
        &#39;Symbolic_Toolbox&#39;; ...  
        &#39;SystemTest&#39;; ...  
        &#39;Video_and_Image_Blockset&#39;; ...  
        &#39;Virtual_Reality_Toolbox&#39;; ...  
        &#39;Wavelet_Toolbox&#39;; ...  
        &#39;XPC_Embedded_Option&#39;; ...  
        &#39;XPC_Target&#39;};  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
That&#39;s a lot of typing, so I&#39;d just copy and paste from above, into your Matlab prompt.&lt;br /&gt;
&lt;br /&gt;
Next, we want to check that licenses exist for each of the items in the above list:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; index = cellfun(@(f) license(&#39;test&#39;,f),featureStr);  
 availableFeatures = featureStr(logical(index));  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Licences that exist are now stored in &lt;i&gt;availableFeatures&lt;/i&gt;, so typing that at the prompt gives us a list of licences that are available to the installation:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; availableFeatures  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
To see if a single license exists, we can also simply supply &lt;i&gt;license(&#39;test&#39;,&amp;lt;feature_name&amp;gt;) &lt;/i&gt;with the single feature string we care about. For example:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; license(&#39;test&#39;, &#39;Neural_Network_Toolbox&#39;)  &lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
This is normally as much information as we need, but if we need to know if a licence is available to checkout at the present time, we can continue as below.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;NB: Using&amp;nbsp;&lt;i&gt;license(&#39;checkout&#39;,&amp;lt;license&amp;gt;)&lt;/i&gt;, as described below,&lt;i&gt;&amp;nbsp;&lt;/i&gt;is not normally a good idea when using network licences, as the license will not be released until Matlab is shut down. Usually, licenses are checked out automatically, as and when they are required by a toolbox.&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
So far, we&#39;ve found out whether or not a license exists, but not if one is presently available for us to check out. To actually checkout a license, such as the &lt;i&gt;Signal Toolbox&lt;/i&gt;,&amp;nbsp;we can do:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; license(&#39;checkout&#39;,&#39;Signal_Toolbox&#39;)  
&lt;/code&gt;&lt;/pre&gt;
Where &lt;i&gt;Signal_Toolbox &lt;/i&gt;comes for the feature string list at the top of this post.&lt;br /&gt;
&lt;br /&gt;
If Matlab returns:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; ans = 1  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then the license checkout was successful. We can also look at the licenses we currently have checked out out using:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; license(&#39;inuse&#39;)  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
As usual, I hope this has been helpful, and feel free to add any notes or observations in the comments below.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;References:&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mathworks.co.uk/help/matlab/ref/license.html&quot;&gt;Matlab documentation: license()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.mathworks.co.uk/matlabcentral/newsreader/view_thread/244320&quot;&gt;Matlab newsgroup: License checking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://stackoverflow.com/questions/2060382/how-would-one-check-for-installed-matlab-toolboxes-in-a-script-function&quot;&gt;StackOverflow: How would one check for installed MATLAB toolboxes in a script/function?&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/2499814085734665231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/finding-out-what-matlab-tooboxes-are-available.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/2499814085734665231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/2499814085734665231'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/finding-out-what-matlab-tooboxes-are-available.html' title='Finding out what Matlab tooboxes are available for use'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-878771072154550495</id><published>2012-11-06T00:47:00.000+00:00</published><updated>2012-11-06T00:49:59.438+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="keyboard"/><category scheme="http://www.blogger.com/atom/ns#" term="mint"/><category scheme="http://www.blogger.com/atom/ns#" term="print screen"/><title type='text'>Fixing Print Screen in Linux Mint XFCE</title><content type='html'>To enable Print Screen key functionality in Linux Mint XFCE:&lt;br /&gt;
&lt;br /&gt;
Ensure&amp;nbsp;&lt;i&gt;xfce4-screenshooter &lt;/i&gt;is installed:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get install xfce4-screenshooter  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then, in the Menu, go to &lt;i&gt;Settings -&amp;gt; Keyboard&lt;/i&gt;&amp;nbsp;then &lt;i&gt;Application Shortcuts -&amp;gt; Add. &lt;/i&gt;In the &lt;i&gt;Command&lt;/i&gt; field, enter&amp;nbsp;&lt;i&gt;xfce4-screenshooter&lt;/i&gt;&amp;nbsp;and then click OK, before pressing the Print Screen key on the keyboard, to set that shortcut.</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/878771072154550495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/fixing-print-screen-in-linux-mint-xfce.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/878771072154550495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/878771072154550495'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/fixing-print-screen-in-linux-mint-xfce.html' title='Fixing Print Screen in Linux Mint XFCE'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-4510554156458533190</id><published>2012-11-06T00:23:00.000+00:00</published><updated>2013-02-20T16:03:53.896+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="12.04"/><category scheme="http://www.blogger.com/atom/ns#" term="no machine"/><category scheme="http://www.blogger.com/atom/ns#" term="nx"/><category scheme="http://www.blogger.com/atom/ns#" term="remote"/><category scheme="http://www.blogger.com/atom/ns#" term="remote desktop"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Remote Desktop in Ubuntu 12.04</title><content type='html'>&lt;i&gt;This is the first post in a three part series exploring Ubuntu-based remote desktop options. See posts &lt;a href=&quot;http://matalangilbert.blogspot.com/2013/02/linux-ubuntu-remote-desktop-cendio-thinlinc.html&quot; target=&quot;_blank&quot;&gt;two&lt;/a&gt; and &lt;a href=&quot;http://matalangilbert.blogspot.co.uk/2013/02/linux-ubuntu-remote-desktop-comparison.html&quot; target=&quot;_blank&quot;&gt;three&lt;/a&gt; for further exploration and conclusions.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
In my opinion, both of the mainstream remote desktop/windowing approaches in Linux do not compare with the ease of use, and the speed of Windows remote desktop. VNC is inherently insecure, and setting up VNC over an SSH tunnel isn&#39;t the most user friendly of experiences. X forwarding over SSH is better, but in my experience there&#39;s simply too much latency when using it outside a LAN. Enter NX, or&amp;nbsp;&lt;a href=&quot;http://www.nomachine.com/&quot;&gt;NoMachine&lt;/a&gt;&amp;nbsp;- the &lt;strike&gt;only&lt;/strike&gt; Linux remote desktop solution &lt;strike&gt;I&#39;ve come across&lt;/strike&gt;&amp;nbsp;used that isn&#39;t a pain to get up and running, and is more than fast enough to be useable.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s what you need to do to get going with NoMachine. Below, &lt;i&gt;target machine&lt;/i&gt;&amp;nbsp;refers to the machine you want to connect to, and &lt;i&gt;client machine&lt;/i&gt;&amp;nbsp;refers to the machine you are connecting from.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;On the target machine:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
If it&#39;s not already installed, add openssh server to your machine:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get install openssh-server  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Add the &lt;a href=&quot;http://freenx.berlios.de/&quot;&gt;FreeNX&lt;/a&gt; repository to your system using:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo add-apt-repository ppa:freenx-team  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then install FreeNX with:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get update  
 sudo apt-get install freenx  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
As Unity3D is too heavy to use over a WAN connection, allow fallback to a gnome session:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get install gnome-session-fallback  &lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;On the client machine:&lt;/b&gt;&lt;br /&gt;
Use the NX client of your choice - &lt;strike&gt;personally I used Remmina, with the Remmina NX plugin:&lt;/strike&gt;&lt;b&gt;&amp;nbsp;Update: While Remmina works well, the offical NX client gives a lot more options - see below for more.&lt;/b&gt;&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get install remmina
 sudo apt-get install remmina-plugin-nx
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Start Remmina, and create a new connection. You should now be able to choose to connect using the NX protocol, as seen below.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU-5IF-3x5mtcdPLTcSy8J8uz8DFCSrgxoBycEi0x4kCi8ZJ6Tsg8eMzV_8AIfQekxG3ooR8plM6Shxcwk8ttIxhhUQp7uZzH6RPwuQeuWAL5XU-KPaxFkWU6NCNhPVKmTBBkeJNo_znc/s1600/remmina-nx.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU-5IF-3x5mtcdPLTcSy8J8uz8DFCSrgxoBycEi0x4kCi8ZJ6Tsg8eMzV_8AIfQekxG3ooR8plM6Shxcwk8ttIxhhUQp7uZzH6RPwuQeuWAL5XU-KPaxFkWU6NCNhPVKmTBBkeJNo_znc/s320/remmina-nx.png&quot; width=&quot;256&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Enter the target machine&#39;s IP address into the server field, and the username and password of the user account you wish to connect to. Hit connect and after a few moments your remote desktop will open.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can also use the&amp;nbsp;&lt;a href=&quot;http://www.nomachine.com/download.php&quot;&gt;official NX client&lt;/a&gt;, and if you&#39;re connecting from Windows or Mac, that&#39;s probably easiest. For Linux, the official client download and install instructions are currently&amp;nbsp;&lt;a href=&quot;http://www.nomachine.com/download-package.php?Prod_Id=3831&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#39;ve not yet had the chance to experiment, but it may be possible to run the NX client from a different desktop on the target machine - if so, then this would make NX a complete, drop in replacement for Windows remote desktop, as far as I can see. Which is no bad thing, as other than the obvious&amp;nbsp;proprietary graphics issues Linux can suffer from, a decent RDP implementation was the only only key feature I&#39;ve&amp;nbsp;noticeably&amp;nbsp;missed since moving to Linux full-time (yes, there&#39;s X forwarding over SSH, but even with compression there&#39;s still too much lag to be&amp;nbsp;usable&amp;nbsp;over my connections). &lt;b&gt;Update: &lt;/b&gt;It looks like the official NX client has a shadowing mode - again, I&#39;ve not yet tested it, but it may be useful for the above.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Update Nov-16-2012: As noted in the comments,&amp;nbsp;&lt;a href=&quot;http://www.cendio.com/&quot;&gt;Cendio&lt;/a&gt;&amp;nbsp;also offer a Linux remote desktop solution - after testing and comparing, my thoughts can be found in &lt;a href=&quot;http://matalangilbert.blogspot.com/2013/02/linux-ubuntu-remote-desktop-cendio-thinlinc.html&quot; target=&quot;_blank&quot;&gt;post two&lt;/a&gt;.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/4510554156458533190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/using-remote-desktop-in-ubuntu-1204.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/4510554156458533190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/4510554156458533190'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/using-remote-desktop-in-ubuntu-1204.html' title='Remote Desktop in Ubuntu 12.04'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU-5IF-3x5mtcdPLTcSy8J8uz8DFCSrgxoBycEi0x4kCi8ZJ6Tsg8eMzV_8AIfQekxG3ooR8plM6Shxcwk8ttIxhhUQp7uZzH6RPwuQeuWAL5XU-KPaxFkWU6NCNhPVKmTBBkeJNo_znc/s72-c/remmina-nx.png" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-3210450142015145833</id><published>2012-11-05T14:33:00.001+00:00</published><updated>2012-11-05T14:33:55.415+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debian"/><category scheme="http://www.blogger.com/atom/ns#" term="R"/><title type='text'>Installing the latest version of R into Debian Stable</title><content type='html'>The R packages available in the Debian repository are are little out of date - to install the latest (stable) version we need to add a backports repository. Just follow the steps below!&lt;br /&gt;
&lt;br /&gt;
Open the sources list with:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo nano /etc/apt/sources.list  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then add this line to the bottom of the file (use your&amp;nbsp;favourite&amp;nbsp;mirror if desired):&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; deb http://cran.ma.imperial.ac.uk/bin/linux/debian squeeze-cran/  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
The Debian backports are signed with the key of &quot;Johannes Ranke (CRAN Debian archive) &amp;lt;&lt;a href=&quot;mailto:jranke@uni-bremen.de&quot;&gt;jranke@uni-bremen.de&lt;/a&gt;&amp;gt;&quot;, with key ID 381BA480 . Import this using:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-key adv --keyserver subkeys.pgp.net --recv-key 381BA480  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then, update the packages cache - this should complete without errors.&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get update  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Finally, install R and the R recommended packages using:
&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get r-base r-recommended   
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
To check the version of R that is now installed, use:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; R --version  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
To start R, simply type&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; R  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
at a command prompt. As usual, let me know of any issues or problems in the comments below.</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/3210450142015145833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/installing-latest-version-of-r-into.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3210450142015145833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/3210450142015145833'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/11/installing-latest-version-of-r-into.html' title='Installing the latest version of R into Debian Stable'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-1896139446702214814</id><published>2012-09-27T15:46:00.001+01:00</published><updated>2012-10-10T21:25:47.049+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="R"/><category scheme="http://www.blogger.com/atom/ns#" term="rattle"/><category scheme="http://www.blogger.com/atom/ns#" term="RGtk2"/><title type='text'>Problems with R and RGtk2</title><content type='html'>I ran across this issue while installing &lt;a href=&quot;http://rattle.togaware.com/&quot;&gt;Rattle&lt;/a&gt;, a data mining library for the statistical programming language &lt;a href=&quot;http://www.r-project.org/&quot; target=&quot;_blank&quot;&gt;R&lt;/a&gt;, on to a Debian system. When installing the package RGtk2, seeing the below error means that your GTK version is not the version required by RGtk2.&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; * installing *source* package ‘RGtk2’ ...  
 ** package ‘RGtk2’ successfully unpacked and MD5 sums checked  
 checking for pkg-config... /usr/bin/pkg-config  
 checking pkg-config is at least version 0.9.0... yes  
 checking for INTROSPECTION... no  
 checking for GTK... no  
 configure: error: GTK version 2.8.0 required  
 ERROR: configuration failed for package ‘RGtk2’  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
The required version can be found in &lt;i&gt;libgtk2.0-dev&lt;/i&gt;, so install this using your preferred package manager - for example using &lt;i&gt;apt-get&lt;/i&gt;:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get install libgtk2.0-dev    
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then reload R and:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; install.packages(&#39;RGtk2&#39;)  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Now, after the installation has finished, you should see:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; * DONE (RGtk2)  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
As usual, let me know if it works for you in the comments below.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;If you like this blog, and use R for statistical processing, you can help support my writing by purchasing a book from my &lt;a href=&quot;http://matalangilbert.blogspot.co.uk/p/blog-page.html&quot; target=&quot;_blank&quot;&gt;bookstore&lt;/a&gt;. For both beginning and more advanced R users, I&#39;d recommend&amp;nbsp;&lt;a href=&quot;http://www.amazon.co.uk/gp/search/ref=as_li_qf_sp_sr_tl?ie=UTF8&amp;amp;camp=1634&amp;amp;creative=6738&amp;amp;index=aps&amp;amp;keywords=Kenneth%20Knoblauch&amp;amp;linkCode=ur2&amp;amp;tag=maalgiitno-21&quot; target=&quot;_blank&quot;&gt;Kenneth Knoblauch&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;https://www.assoc-amazon.co.uk/e/ir?t=maalgiitno-21&amp;amp;l=ur2&amp;amp;o=2&quot; style=&quot;border: none !important; margin: 0px !important;&quot; width=&quot;1&quot; /&gt;.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/1896139446702214814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/09/problems-with-r-and-rgtk2.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/1896139446702214814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/1896139446702214814'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/09/problems-with-r-and-rgtk2.html' title='Problems with R and RGtk2'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-468520082648342729</id><published>2012-09-20T16:25:00.001+01:00</published><updated>2012-09-20T16:25:34.302+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apt"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="R"/><category scheme="http://www.blogger.com/atom/ns#" term="ssl"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu"/><title type='text'>Install the latest version of R in Ubuntu</title><content type='html'>The R version in the Ubuntu repositories is not the latest, so here&#39;s how to install R into Ubuntu 12.04:&lt;br /&gt;
&lt;br /&gt;
Add the SSL key and import into apt:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9  
 gpg -a --export E084DAB9 | sudo apt-key add -  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Add the repository to your sources list, by doing:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo nano /etc/apt/sources.list  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then add this line to the bottom of the sources file:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; deb http://cran.ma.imperial.ac.uk/bin/linux/ubuntu precise/  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then, to install the latest version of R, do:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; sudo apt-get update  
 sudo apt-get install r-base  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Hit yes at the prompts, and voila, the latest version of R is installed!</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/468520082648342729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/09/install-latest-version-of-r-in-ubuntu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/468520082648342729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/468520082648342729'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/09/install-latest-version-of-r-in-ubuntu.html' title='Install the latest version of R in Ubuntu'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-9038959809586257399</id><published>2012-09-10T15:37:00.000+01:00</published><updated>2012-09-10T15:56:19.424+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="editor"/><category scheme="http://www.blogger.com/atom/ns#" term="gedit"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="themes"/><title type='text'>Great gEdit Theme Repository</title><content type='html'>I&#39;m a fan of light on dark backgrounds when writing or coding, and Githubber&amp;nbsp;&lt;i&gt;kalmi&amp;nbsp;&lt;/i&gt;maintains a great collection of gEdit (the default text editor in Gnome) themes - they can be found here:&amp;nbsp;&lt;a href=&quot;https://github.com/kalmi/gedit-themes&quot;&gt;https://github.com/kalmi/gedit-themes&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
To use, clone the repo into a temporary directory, using:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; git clone https://github.com/kalmi/gedit-themes.git 
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Then copy them into a styles folder in the gEdit directory, using the install script from the repo:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; cd gedit-themes
 ./install.sh  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
To use them, open gEdit, then go to &lt;i&gt;Edit -&amp;gt; Preferences -&amp;gt; Fonts and Colours&lt;/i&gt;. The themes should now be available in the &lt;i&gt;Colour Scheme&lt;/i&gt;&amp;nbsp;scroll box.&lt;br /&gt;
&lt;br /&gt;
Enjoy!</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/9038959809586257399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/09/great-gedit-theme-repository.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/9038959809586257399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/9038959809586257399'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/09/great-gedit-theme-repository.html' title='Great gEdit Theme Repository'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-4451563429524294685</id><published>2012-07-19T17:14:00.000+01:00</published><updated>2012-07-19T17:14:13.683+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="exec"/><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><category scheme="http://www.blogger.com/atom/ns#" term="matlab"/><category scheme="http://www.blogger.com/atom/ns#" term="mount"/><title type='text'>Mounting an executable CD Drive in Linux</title><content type='html'>I ran into the below problem while installing Matlab onto a Linux machine. Hopefully this will help someone else!&lt;br /&gt;
&lt;br /&gt;
On most modern Linux systems, CD drives are automatically mounted. The problem comes when they are mounted without any exec permissions - this means that any scripts, etc on the CD, or .iso, will be unable to run. To resolve this, follow the steps below:
&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Find the name of your mounted CD drive by using:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; mount  
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Then remount the device with the exec bit set:&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; mount -o remount,exec $DEVICE&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Where &lt;i&gt;$DEVICE &lt;/i&gt;is the name of the CD drive.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You&#39;ll then be able to run all executables on the drive - in my case, the Matlab executable was then launched using the below commands:&lt;/div&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; $ su  
 $ /path/to/mounted/cdrom/./install  
&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;br /&gt;
Remember to logout as root when the installer has finished!&lt;br /&gt;
&lt;pre style=&quot;background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnATl-PbpCG4Tu41jfrYnA8b5JFcoXFsY46bXmNodVA-6yIthCZXr6EYk_FZupH2A8Xoger9eGUNFy3clXi4ZegLI4l_JLMy0TTcAgpvUwyXwx1k69o5jYwq9L2LTO2C2CKYtBTrHLKSDe/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;&quot;&gt;&lt;code style=&quot;color: black; word-wrap: normal;&quot;&gt; logout  
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/4451563429524294685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/07/mounting-executable-cd-drive-in-linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/4451563429524294685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/4451563429524294685'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/07/mounting-executable-cd-drive-in-linux.html' title='Mounting an executable CD Drive in Linux'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7265206304215695321.post-1043280230964428032</id><published>2012-07-18T11:24:00.000+01:00</published><updated>2012-12-13T17:06:12.428+00:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="betty and george"/><category scheme="http://www.blogger.com/atom/ns#" term="heroku"/><category scheme="http://www.blogger.com/atom/ns#" term="rails"/><category scheme="http://www.blogger.com/atom/ns#" term="ruby"/><title type='text'>Betty and George - an overview</title><content type='html'>&lt;script&gt;
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=&quot;//platform.twitter.com/widgets.js&quot;;fjs.parentNode.insertBefore(js,fjs);}}(document,&quot;script&quot;,&quot;twitter-wjs&quot;);
&lt;/script&gt;

&lt;br /&gt;
&lt;div&gt;
&lt;i&gt;This is the first in a series of posts detailing my latest hobby project. The bulk of the work was completed in under 10 hours, with minor styling tweaks taking a little longer to get right. The project is&amp;nbsp;&lt;span style=&quot;background-color: white;&quot;&gt;currently hosted&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://hollow-flower-9984.herokuapp.com/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;span style=&quot;background-color: white;&quot;&gt;, and the source code is on Github&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;https://github.com/matalangilbert/betty-and-george#readme&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;span style=&quot;background-color: white;&quot;&gt;. As usual, please post any comments or opinions in the comments below, or tweet me directly &lt;a href=&quot;http://www.twitter.com/matalangilbert&quot; target=&quot;_blank&quot;&gt;@matalangilbert&lt;/a&gt;.&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4&gt;




&lt;b&gt;Introduction&lt;/b&gt;&lt;/h4&gt;
&lt;div&gt;
&lt;a href=&quot;http://hollow-flower-9984.herokuapp.com/&quot; target=&quot;_blank&quot;&gt;Betty and George&lt;/a&gt; are Artificial Intelligence entities - they chat with each other in real time, and, somewhat incredibly in my opinion, make sense most of the time! They&#39;re sometimes witty, sometimes poignant, and sometimes inane, but they keep talking, no matter what!&lt;/div&gt;
&lt;h4&gt;




&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;h4&gt;




&lt;b&gt;Technical Overview&lt;/b&gt;&lt;/h4&gt;
&lt;div&gt;
The application is split into two main parts. The backend is a&amp;nbsp;&lt;span style=&quot;background-color: white;&quot;&gt;Ruby program managing two Cleverbot instances (&lt;/span&gt;&lt;a href=&quot;http://www.cleverbot.com/&quot; id=&quot;&quot; shape=&quot;rect&quot; style=&quot;background-color: white;&quot; target=&quot;_blank&quot;&gt;http://www.cleverbot.com&lt;/a&gt;&lt;span style=&quot;background-color: white;&quot;&gt;), juggling responses between each instance. There&#39;s not too much to this, but I will go over the technical details in a future post.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;Each conversational response is posted&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp;to a Rails application endpoint by the Ruby program, and then the&amp;nbsp;front-end&amp;nbsp;takes over. The frontend is backed by a Rails application, which receives data from the Ruby program, and displays it on the &lt;a href=&quot;http://hollow-flower-9984.herokuapp.com/&quot; target=&quot;_blank&quot;&gt;live site&lt;/a&gt;. There&#39;s a couple of neat techniques used on the main application page, which update the page in the background. The first is a background AJAX request, which hits the server every 5 seconds, retrieving new responses and adding them to the top of the scrolling conversation on the site. The second is an &quot;Endless River of News&quot; style endless scroll implementation. This invisibly loads more of the conversation as the user scrolls down the page, in much the same way as Twitter and other sites do. Individually, neither of these techniques are&amp;nbsp;particularly&amp;nbsp;new on their own, but combining them&amp;nbsp;seamlessly&amp;nbsp;was technically&amp;nbsp;satisfying. I&#39;ll talk more about these techniques in a dedicated future post.&lt;/span&gt;&lt;/div&gt;
&lt;h4&gt;




&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h4&gt;
&lt;h4&gt;




&lt;span style=&quot;background-color: white;&quot;&gt;Hosting&lt;/span&gt;&lt;/h4&gt;
&lt;div&gt;
At present, both the conversation program and the Rails application are hosted at &lt;a href=&quot;http://www.heroku.com/&quot; target=&quot;_blank&quot;&gt;Heroku&lt;/a&gt;. A future post will detail a few of the&amp;nbsp;technical&amp;nbsp;subtleties&amp;nbsp;I discovered while deploying the live Betty and George website.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;h4&gt;


&lt;b&gt;Now visit Betty and George!&lt;/b&gt;&lt;/h4&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;OK, so this was just a brief overview of the Betty and George architecture - now go &lt;a href=&quot;http://hollow-flower-9984.herokuapp.com/&quot; target=&quot;_blank&quot;&gt;check them out&lt;/a&gt;, and let me know what you think in the comments below!&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://matalangilbert.blogspot.com/feeds/1043280230964428032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://matalangilbert.blogspot.com/2012/07/betty-and-george-overview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/1043280230964428032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7265206304215695321/posts/default/1043280230964428032'/><link rel='alternate' type='text/html' href='http://matalangilbert.blogspot.com/2012/07/betty-and-george-overview.html' title='Betty and George - an overview'/><author><name>Mat</name><uri>http://www.blogger.com/profile/12333556529456840174</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>