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

<channel>
	<title>michaelgalloy.com</title>
	<atom:link href="http://michaelgalloy.com/feed" rel="self" type="application/rss+xml" />
	<link>http://michaelgalloy.com</link>
	<description>Resources for IDL developers</description>
	<lastBuildDate>Wed, 16 May 2012 17:44:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>VISualize 2012</title>
		<link>http://michaelgalloy.com/2012/05/16/visualize-2012.html</link>
		<comments>http://michaelgalloy.com/2012/05/16/visualize-2012.html#comments</comments>
		<pubDate>Wed, 16 May 2012 17:44:13 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3912</guid>
		<description><![CDATA[This year&#8217;s VISualize, the IDL/ENVI User Group meeting, will have the theme &#8220;Climate Change and Environmental Monitoring.&#8221; It will be held June 18 to 19 in the World Wildlife Fund Conference Center in Washington, DC. Exelis VIS is now accepting abstracts&#8212;due May 18! Not sure what I should talk about this year (I&#8217;ve talked about [...]]]></description>
			<content:encoded><![CDATA[<p>This year&#8217;s VISualize, the IDL/ENVI User Group meeting, will have the theme &#8220;Climate Change and Environmental Monitoring.&#8221; It will be held June 18 to 19
in the World Wildlife Fund Conference Center in Washington, DC.</p>

<p>Exelis VIS is now accepting abstracts&mdash;due May 18! Not sure what I should talk about this year (I&#8217;ve talked about GPULib for the past couple of years), but I will definitely submit something and attend in any case.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/05/16/visualize-2012.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prompt hiding for cut-and-paste</title>
		<link>http://michaelgalloy.com/2012/05/09/prompt-hiding-for-cut-and-paste.html</link>
		<comments>http://michaelgalloy.com/2012/05/09/prompt-hiding-for-cut-and-paste.html#comments</comments>
		<pubDate>Wed, 09 May 2012 15:00:13 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[IDLdoc]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3903</guid>
		<description><![CDATA[While looking up some Python docs generated by the excellent Sphinx documentation tool1, I noticed that Sphinx can show/hide the prompts and output in a code snippet. This allows the user to see the full code and output, but then can hit a button and get text suitable for cut-and-pasting onto the command line to [...]]]></description>
			<content:encoded><![CDATA[<p>While looking up some Python docs generated by the excellent <a href="http://sphinx.pocoo.org/" title="Sphinx documentation">Sphinx</a> documentation tool<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup>, I noticed that Sphinx can show/hide the prompts and output in a code snippet. This allows the user to see the full code and output, but then can hit a button and get text suitable for cut-and-pasting onto the command line to try it for themselves. Check out my simple <a href="http://michaelgalloy.com/wp-content/uploads/2012/05/prompt_hiding.html" title="Prompt hiding example">experiment</a> to see how it works.</p>

<p>I will definitely have to work this into an IDLdoc release soon.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Sphinx is somewhat the Python equivalent to IDLdoc, but much more general.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/05/09/prompt-hiding-for-cut-and-paste.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tools for collaborative writing</title>
		<link>http://michaelgalloy.com/2012/05/08/tools-for-collaborative-writing.html</link>
		<comments>http://michaelgalloy.com/2012/05/08/tools-for-collaborative-writing.html#comments</comments>
		<pubDate>Tue, 08 May 2012 14:00:23 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[Admin]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3874</guid>
		<description><![CDATA[A recent article on AstroBetter reviews some of the available tools for collaborative writing with an eye to writing proposals. I wanted to give my perspective on these tools since I have used all of the tools they discuss in the article: ScribTeX (as well as the similar ShareLaTeX), Google Docs, Dropbox, and version control [...]]]></description>
			<content:encoded><![CDATA[<p>A recent article on <a href="http://www.astrobetter.com" title="AstroBetter">AstroBetter</a> reviews some of the <a href="http://www.astrobetter.com/tools-to-write-collaboratively/" title="Tools to write collaboratively">available tools for collaborative writing</a> with an eye to writing proposals. I wanted to give my perspective on these tools since I have used all of the tools they discuss in the article: ScribTeX (as well as the similar ShareLaTeX), Google Docs, Dropbox, and version control systems, e.g., Subversion or git.</p>

<p>I agree with most of their strengths/weaknesses lists for the tools, although I&#8217;m not sure why they say version control systems like Subversion or git are &#8220;intolerant of simultaneous edits&#8221;. Merging is quite good in these system unless two people edit the exact same line of a file. Usually collaborators have different areas of responsibility in the document and conflicts would only occur occasionally if people are doing global actions like proof-reading the entire document at the same time. Even then, the conflicts are detected by the system and can be manually corrected by the later committer.</p>

<p>I favor a Subversion/git repo for doing any serious work (although I do <a href="http://db.tt/joqiPSt" title="Get Dropbox">highly recommend Dropbox</a> for sharing/syncing files, just not for collaborative writing). I use Subversion repos for all my proposals, although I am beginning experiments with git for certain internal proposals, papers, and other writing. I used a Subversion repo for <a href="&quot;http://modernidl.idldev.com&quot;" title="Modern IDL">Modern IDL</a>. It&#8217;s flexible enough to handle your writing output (not the best for a single monolithic Word file, but great for any text based system like LaTeX), while also handling other related assets like code, images, diagrams, slides, etc. well. Data is stored locally, but also backed up on a server<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup>.</p>

<p>I have reservations about providing proprietary/sensitive/private data to a third-party service. Also, relying on a cloud service (especially like relative newcomers like ScribTeX and ShareLaTeX) might be disastrous if there was an outage just before a proposal deadline<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup>.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Of course, the server could be your own or available from a service such as <a href="https://github.com/" title="GitHub">GitHub</a>.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:2">
<p>Typically, I have a checkout of my proposal on several different computers near the end, just in case.&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/05/08/tools-for-collaborative-writing.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coyote retiring?</title>
		<link>http://michaelgalloy.com/2012/05/07/coyote-retiring.html</link>
		<comments>http://michaelgalloy.com/2012/05/07/coyote-retiring.html#comments</comments>
		<pubDate>Mon, 07 May 2012 23:18:15 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3892</guid>
		<description><![CDATA[David Fanning says he is retiring from IDL: I&#8217;m retiring. No, really, this time I&#8217;m really retiring. :-) Hopefully this is a false alarm, but in any case, good luck David and thanks for years of valuable information!]]></description>
			<content:encoded><![CDATA[<p>David Fanning <a href="https://groups.google.com/forum/?fromgroups#!topic/comp.lang.idl-pvwave/EXNcNsT0FVs" title="Web Site Curator Needed">says he is retiring from IDL</a>:</p>

<blockquote>
  <p>I&#8217;m retiring. No, really, this time I&#8217;m really retiring. :-)</p>
</blockquote>

<p>Hopefully this is a false alarm, but in any case, good luck David and thanks for years of valuable information!</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/05/07/coyote-retiring.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doc testing thoughts</title>
		<link>http://michaelgalloy.com/2012/05/04/doc-testing-thoughts.html</link>
		<comments>http://michaelgalloy.com/2012/05/04/doc-testing-thoughts.html#comments</comments>
		<pubDate>Fri, 04 May 2012 22:16:53 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[IDLdoc]]></category>
		<category><![CDATA[mgunit]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[original]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3837</guid>
		<description><![CDATA[The IDL Data Point recently had an article about writing a simple main-level program at the bottom of each file which would give an example or test of the routine(s) in the files. I like this idea and have been doing it for quite a while, but one of the annoyances of this approach is [...]]]></description>
			<content:encoded><![CDATA[<p>The IDL Data Point recently had an <a href="http://idldatapoint.com/2012/05/03/the-merits-of-an-example-main-program" title="IDL Data Point: The merits of an example main program">article</a> about writing a simple main-level program at the bottom of each file which would give an example or test of the routine(s) in the files. I like this idea and have been doing it for quite a while, but one of the annoyances of this approach is that I also typically want the code to be included in the documentation for the routine, so I end up copy-and-pasting the code into the examples section of the docs (and, of course, reformatting it for the doc syntax). Also, the main-level program just is a place to put some code, I have to do all the work if I actually want to write multiple pass/fail tests.</p>

<p><span id="more-3837"></span></p>

<p>For example, Python&#8217;s <a href="http://docs.python.org/library/doctest.html" title="Python doctest module">doctest module</a> provides a solution to these problems for Python. In your docs, you give a command and its expected output:</p>

<pre><code>&gt;&gt;&gt; [factorial(n) for n in range(6)]
[1, 1, 2, 6, 24, 120]
</code></pre>

<p>Then, in the main-level program, you say something like (I&#8217;ve omitted some Python details for simplicity here):</p>

<pre><code>doctest.testmod()
</code></pre>

<p>When you do the equivalent of running the main-level program, the docs are checked for &#8220;>>>&#8221; lines which are executed and compared to the output shown in the docs.</p>

<p>It seems like there are several solutions that could be implemented in IDLdoc or mgunit to solve this problem.</p>

<ol>
<li><p>Create a <code>doctest</code> routine for IDL. This would mean to create a routine like the <code>dockets.testmod()</code> routine in <code>doctest</code> that runs all the lines in the documentation that begin with &#8220;IDL>&#8221; and compares the results to the output shown below the &#8220;IDL>&#8221; line.</p>

<p><em>Advantages:</em> Can be used to easily run tests and compare results to provided output. Test commands and output are included in documentation, but are not present twice in the file.</p>

<p><em>Disadvantages:</em> None?</p></li>
<li><p>Conversely, create an IDLdoc <code>include</code> directive, like <code>..include:: [main-level]</code> that includes the contents of the main-level of the current file. This could be used in the examples section of the docs to include the main-level program.</p>

<p><em>Advantages:</em> Could also be used to include other files which might be useful in other situations.</p>

<p><em>Disadvantages:</em> For files with multiple routines in a file, the entire main-level program would be included at the location, even if the main-level program addressed multiple of the routines. Doesn&#8217;t help with testing.</p></li>
<li><p>Allow IDLdoc to do the testing by creating a tests section that would be executed when IDLdoc is run.</p>

<p><em>Advantages:</em> Can be used to easily run tests and compare results to provided output. Test results appear in the IDLdoc output.</p>

<p><em>Disadvantages:</em> Need to run IDLdoc to run the tests.</p></li>
</ol>

<p>Once nice thing here is that several of these strategies could be implemented. Any ideas, suggestions on what you would like to see? Creating an <code>MG_DOCTEST</code> routine seems like the strongest solution right now, but am I missing something?</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/05/04/doc-testing-thoughts.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Better line profiling output</title>
		<link>http://michaelgalloy.com/2012/04/27/better-line-profiling-output.html</link>
		<comments>http://michaelgalloy.com/2012/04/27/better-line-profiling-output.html#comments</comments>
		<pubDate>Fri, 27 Apr 2012 19:39:17 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[HPC]]></category>
		<category><![CDATA[original]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3797</guid>
		<description><![CDATA[I had to do a lot of line profiling (with the -l option to gprof) of some Fortran code recently and got tired of tracking through source code to find the lines that where causing problems. The line profiler gives very useful output that looks like (edited to remove some extra space): percent cumulative self [...]]]></description>
			<content:encoded><![CDATA[<p>I had to do a lot of line profiling (with the <code>-l</code> option to <a href="http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html#SEC1" title="gprof description">gprof</a>) of some Fortran code recently and got tired of tracking through source code to find the lines that where causing problems. The line profiler gives very useful <a href="http://michaelgalloy.com/wp-content/uploads/2012/04/cuda-blas.lineprofile.txt" title="gprof output">output</a> that looks like (edited to remove some extra space):</p>

<pre><code>percent cumulative  self
time     seconds   seconds  name
18.20      0.02     0.02    main (cuda-blas.cu:94 @ 401502)
 9.10      0.03     0.01    main (cuda-blas.cu:93 @ 4014c9)
 9.10      0.04     0.01    main (cuda-blas.cu:166 @ 4018c0)
 9.10      0.05     0.01    main (cuda-blas.cu:239 @ 401c3d)
 9.10      0.06     0.01    main (cuda-blas.cu:243 @ 401c91)
 9.10      0.07     0.01    main (cuda-blas.cu:318 @ 402039)
 9.10      0.08     0.01    main (cuda-blas.cu:319 @ 402060)
 9.10      0.09     0.01    main (cuda-blas.cu:322 @ 4020a1)
 9.10      0.10     0.01    main (cuda-blas.cu:321 @ 4020f0)
</code></pre>

<p>I wrote an IDL routine that takes the raw profile output along with the source code and creates <a href="http://michaelgalloy.com/wp-content/uploads/2012/04/cuda-blas.cu.html" title="cuda-blas profile">HTML output</a> that color codes the lines with high activity, like the following:</p>

<p><img src="http://michaelgalloy.com/wp-content/uploads/2012/04/line-profiling.png"/></p>

<p>Get the code from my IDL library, available via Subversion:</p>

<pre><code>svn co http://svn.idldev.com/idllib/trunk idllib
</code></pre>

<p>The <code>mg_clineprofile.pro</code> file is in the <code>src/profiling</code> directory. Call <code>MG_CLINEPROFILE</code> like:</p>

<pre><code>IDL&gt; mg_clineprofile, 'profile-output.txt', /all_files
</code></pre>

<p>The <code>ALL_FILES</code> keyword indicates you want output for each file listed in the profile output; you can also specify the files that you want output for via the <code>FILES</code> keyword.</p>

<p>The code is currently pretty ugly; expect changes to it coming up.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/04/27/better-line-profiling-output.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OS X defaults</title>
		<link>http://michaelgalloy.com/2012/04/23/os-x-defaults.html</link>
		<comments>http://michaelgalloy.com/2012/04/23/os-x-defaults.html#comments</comments>
		<pubDate>Mon, 23 Apr 2012 14:58:07 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3772</guid>
		<description><![CDATA[mathiasbynens has a great github repo of OS X commands to change various system defaults. Some of my favorites: # Disable menu bar transparency defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false # Disable the warning when changing a file extension defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false # Show the ~/Library folder chflags nohidden ~/Library This is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://github.com/mathiasbynens" title="mathiasbynens">mathiasbynens</a> has a <a href="https://github.com/mathiasbynens/dotfiles/blob/master/.osx">great github repo</a> of OS X commands to change various system defaults. Some of my favorites:</p>

<pre><code># Disable menu bar transparency
defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false

# Disable the warning when changing a file extension
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false

# Show the ~/Library folder
chflags nohidden ~/Library
</code></pre>

<p>This is like a nerdy command line version of <a href="http://secrets.blacktree.com" title="Secrets">Secrets</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/04/23/os-x-defaults.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connecting designers with scientists</title>
		<link>http://michaelgalloy.com/2012/04/20/connecting-designers-with-scientists.html</link>
		<comments>http://michaelgalloy.com/2012/04/20/connecting-designers-with-scientists.html#comments</comments>
		<pubDate>Fri, 20 Apr 2012 16:13:42 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3755</guid>
		<description><![CDATA[Pathline is a visualization tool for genetic data created in collaboration between designers and geneticists: We recently attended an interdisciplinary visualization workshop that was all about creating a dialogue between scientists, technologists and designers. It was interesting to discuss the different ways in which these groups think about visualization and how they use it for [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://michaelgalloy.com/wp-content/uploads/2012/04/pathline_1.png" alt="Pathline" align="right"  /></p>

<p>Pathline is a visualization tool for genetic data created in collaboration between designers and geneticists:</p>

<blockquote>
  <p>We recently attended an interdisciplinary visualization workshop that was all about creating a dialogue between scientists, technologists and designers. It was interesting to discuss the different ways in which these groups think about visualization and how they use it for different purposes. Very bluntly put, each group lacks something another group knows and cares deeply about, be it an understanding of colour [we met in the UK] or an understanding of statistics.</p>
</blockquote>

<p>The before and after images show a striking simplification that apparently helps even trained geneticists:</p>

<blockquote>
  <p>Two main advantages of the new tool were found. First, there was a massive gain in efficiency. The study of a heatmap took up to a half-hour before but can be done at a glance at the curvemap now. More importantly, though, the scientists made new discoveries of gene properties they didn’t know about before. What was hidden in the data before, is now very clear, even to an untrained eye.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/04/20/connecting-designers-with-scientists.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting an OpenGL context from object graphics</title>
		<link>http://michaelgalloy.com/2012/04/19/getting-an-opengl-context-from-object-graphics.html</link>
		<comments>http://michaelgalloy.com/2012/04/19/getting-an-opengl-context-from-object-graphics.html#comments</comments>
		<pubDate>Thu, 19 Apr 2012 21:15:33 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[Object graphics]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3784</guid>
		<description><![CDATA[Jason Ferrara, of Jacquette Engineering for Research, the creators of Slither, on getting an OpenGL context of an IDL object graphics window: IDL doesn’t provide any way to access or manage OpenGL contexts. IDL Object Graphics does use OpenGL to do its drawing though, so there must be valid OpenGL contexts floating around in there [...]]]></description>
			<content:encoded><![CDATA[<p>Jason Ferrara, of Jacquette Engineering for Research, the creators of <a href="http://research.jacquette.com/slithertm-product-information/" title="Slither">Slither</a>, on <a href="http://research.jacquette.com/getting-an-opengl-context-from-idl/" title="Getting an OpenGL Context from IDL">getting an OpenGL context of an IDL object graphics window</a>:</p>

<blockquote>
  <p>IDL doesn’t provide any way to access or manage OpenGL contexts. IDL Object Graphics does use OpenGL to do its drawing though, so there must be valid OpenGL contexts floating around in there somewhere. It’s a reasonable assumption (and testing shows it to be true) that when the Draw method of an IDLgrModel object is called, the current OpenGL context is set to the window into which the model should be drawn.</p>
</blockquote>

<p>This is from one of <a href="http://research.jacquette.com/using-slither-to-embed-pymol-in-idl-applications/" title="Using Slither to Embed PyMOL in IDL Applications">a series of articles</a> about using this trick along with Slither to have PyMOL draw into an IDL object graphics window.</p>

<p>I&#8217;ve been trying to get a way to get an OpenGL context for awhile. I definitely will be keeping an eye out for <a href="http://research.jacquette.com/category/blog/" title="Jacquette blog articles">future articles from Jacquette</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/04/19/getting-an-opengl-context-from-object-graphics.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The switch from print to digital graphics</title>
		<link>http://michaelgalloy.com/2012/04/19/the-switch-from-print-to-digital-graphics.html</link>
		<comments>http://michaelgalloy.com/2012/04/19/the-switch-from-print-to-digital-graphics.html#comments</comments>
		<pubDate>Thu, 19 Apr 2012 14:06:14 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3762</guid>
		<description><![CDATA[I&#8217;ve been catching up on Brian Hayes&#8217; great &#8220;Computing Science&#8221; column in American Scientist. The last issue&#8217;s &#8220;Pixels or Perish&#8221; discusses the move to interactive graphics from static print graphics: Methods for producing scientific illustrations—and for reproducing them in publications—have been changing. Printing plates for figures were once engraved by hand, then made by a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been catching up on <a href="http://www.americanscientist.org/authors/detail/brian-hayes" title="Brian Hayes at American Scientist">Brian Hayes&#8217;</a> great &#8220;Computing Science&#8221; column in <a href="http://www.americanscientist.org/" title="American Scientist"><em>American Scientist</em></a>. The last issue&#8217;s <a href="http://www.americanscientist.org/issues/id.14718,y.0,no.,content.true,page.1,css.print/issue.aspx" title="Pixels or Perish">&#8220;Pixels or Perish&#8221;</a> discusses the move to interactive graphics from static print graphics:</p>

<blockquote>
  <p>Methods for producing scientific illustrations—and for reproducing them in publications—have been changing. Printing plates for figures were once engraved by hand, then made by a photographic process, and in recent years have been created by digital techniques. Now we are about to turn the page—if not close the book—on yet another chapter in publishing history. After centuries of reading and writing on paper, we seem to be headed for a world where most documents will be distributed online and viewed on a display screen of some kind. How will this transition to a new medium affect the practice of scientific illustration?</p>
</blockquote>

<p>via <a href="http://flowingdata.com/2012/04/17/graphs-from-paper-to-pixels/" title="Graphs, from paper to pixels">FlowingData</a></p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/04/19/the-switch-from-print-to-digital-graphics.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NASA planetary data system challenges</title>
		<link>http://michaelgalloy.com/2012/04/18/nasa-planetary-data-system-challenges.html</link>
		<comments>http://michaelgalloy.com/2012/04/18/nasa-planetary-data-system-challenges.html#comments</comments>
		<pubDate>Wed, 18 Apr 2012 16:32:24 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[Data]]></category>
		<category><![CDATA[Visualization]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3749</guid>
		<description><![CDATA[NASA is hosting a series of challenges relating to pulling information from its collection of over 100 terabytes of data stored in its planetary data system (PDS): But, while rich in depth and breath, the PDS databases have developed in a disparate fashion over the years with different architectures and formats for different scientific needs; [...]]]></description>
			<content:encoded><![CDATA[<p>NASA is hosting a <a href="http://community.topcoder.com/pds-challenge/" title="PDS Challenge">series of challenges</a> relating to pulling information from its collection of over 100 terabytes of data stored in its planetary data system (PDS):</p>

<blockquote>
  <p>But, while rich in depth and breath, the PDS databases have developed in a disparate fashion over the years with different architectures and formats for different scientific needs; thereby making acquisition of data problematic!</p>
  
  <p>So, NASA is holding a series of Challenges to generate some simply awesome ideas for mobile or web based applications that will appeal to general users, to search and display compelling facts about the data.  Instead of just scientists, our audience will be the millions of school age students, their teachers and parents, game designers and general civilians of the world.  We want to deliver this incredible data to users in a way that excites them – and thus, to help them understand the value and potential of this data.</p>
</blockquote>

<p>Prizes range from $500 to $10,000, as well as being named &#8220;Space Coder of the Galaxy 2012&#8243;. Some contests are restricted to teachers or high school students.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/04/18/nasa-planetary-data-system-challenges.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scientific iPhone backgrounds created in IDL</title>
		<link>http://michaelgalloy.com/2012/03/17/scientific-iphone-backgrounds-created-in-idl.html</link>
		<comments>http://michaelgalloy.com/2012/03/17/scientific-iphone-backgrounds-created-in-idl.html#comments</comments>
		<pubDate>Sun, 18 Mar 2012 03:12:29 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[original]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3714</guid>
		<description><![CDATA[Instead of just listening to me complain about Xcode 4.3 in Lion, I thought you might like some backgrounds for your iPhone. I have both lock screen and home screen versions. The images are subsets of the first image described in my entry to the ITT VIS User Group Meeting a couple years ago (and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://michaelgalloy.com/wp-content/uploads/2012/03/winds-home.png"><img src="http://michaelgalloy.com/wp-content/uploads/2012/03/winds-home-thumbnail.png" align="right" hspace="8"/></a> Instead of just listening to me complain about Xcode 4.3 in Lion, I thought you might like some backgrounds for your iPhone. I have both <a href="http://michaelgalloy.com/wp-content/uploads/2012/03/winds-lock.png" title="iPhone lock screen">lock screen</a> and <a href="http://michaelgalloy.com/wp-content/uploads/2012/03/winds-home.png" title="iPhone home screen">home screen</a> versions. The images are subsets of the first image described in my entry to the ITT VIS User Group Meeting a couple years ago (and now appears at the top of this blog):</p>

<blockquote>
  <p>These images show a line-integral convolution (LIC) representation of the global NASA wind velocity data. The first image shows the LIC output, while the second and third images combine the LIC output with the Earth image in the IDL distribution. The fourth image shows the combination texture mapped on a sphere representing the Earth&#8217;s surface. Dark colors represent low velocity winds, lighter colors higher velocity winds. All aspects of the creation of the images were done in IDL. The code to compute the LIC was written in C and integrated with IDL using a DLM. The data access was done from NASA&#8217;s DAP server using OPeNDAP&#8217;s client IDL bindings (another DLM).</p>
</blockquote>

<p>Images are retina sized, i.e., iPhone 4/4S only.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/03/17/scientific-iphone-backgrounds-created-in-idl.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Object graphics to the web</title>
		<link>http://michaelgalloy.com/2012/02/06/object-graphics-to-the-web.html</link>
		<comments>http://michaelgalloy.com/2012/02/06/object-graphics-to-the-web.html#comments</comments>
		<pubDate>Mon, 06 Feb 2012 20:16:05 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[Object graphics]]></category>
		<category><![CDATA[original]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3701</guid>
		<description><![CDATA[I&#8217;m not sure if I have mentioned this before, but I have a method of exporting simple object graphics scenes to a web page using x3dom. Check out this example of sending a graphics hierarchy containing a polygon (the cow data set from the IDL distribution) to an interactive display on a web page. This [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not sure if I have mentioned this before, but I have a method of exporting simple object graphics scenes to a web page using <a href="http://x3dom.org" title="x3dom - Home">x3dom</a>. Check out this example of sending a graphics hierarchy containing a polygon (the cow data set from the IDL distribution) to an <a href="http://michaelgalloy.com/wp-content/uploads/2011/09/cow.html" title="x3dom example">interactive display</a> on a web page.</p>

<p>This is currently a proof of concept and works for views, models, and polygons with simple properties only, but expanding to more classes and properties should be straightforward. I have done similar things for various other new destination classes for outputs such as <a href="http://michaelgalloy.com/2009/02/20/pov-ray-destination-v02.html" title="POV-Ray destination 0.2">POV-Ray</a> and <a href="http://michaelgalloy.com/2006/06/16/anaglyphs-mggr3dconverter-and-mggrwindow3d.html" title="Anaglyphs: MGgr3DConverter and MGgrWindow3D">anaglyphs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/02/06/object-graphics-to-the-web.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evaluating mathematical expressions without EXECUTE</title>
		<link>http://michaelgalloy.com/2012/01/24/evaluating-mathematical-expressions-without-evaluate.html</link>
		<comments>http://michaelgalloy.com/2012/01/24/evaluating-mathematical-expressions-without-evaluate.html#comments</comments>
		<pubDate>Wed, 25 Jan 2012 00:33:01 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[original]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3680</guid>
		<description><![CDATA[Sometimes it is useful to evaluate a mathematical expression that is defined by the user at runtime. This is pretty easy to do using the EXECUTE routine, but EXECUTE is not allowed in applications running in the Virtual Machine. What to do? This issue has been a problem for me before so I wrote a [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes it is useful to evaluate a mathematical expression that is defined by the user at runtime. This is pretty easy to do using the <code>EXECUTE</code> routine, but <code>EXECUTE</code> is not allowed in applications running in the Virtual Machine. What to do?</p>

<p>This issue has been a problem for me before so I wrote a <a href="http://docs.idldev.com/idllib/analysis/mg_evalexpr.pro" title="MG_EVALEXPR source">simple arithmetic parser</a> (<a href="http://docs.idldev.com/idllib/analysis/mg_evalexpr.html" title="MG_EVALEXPR docs">docs</a>).</p>

<p>Evaluates a mathematical expression using the basic arithmetic operators <code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>, and <code>^</code> along with parentheses for grouping and simple function calls of a single variable.</p>

<p>This routine is implemented with a recursive descent parser and does not use <code>EXECUTE</code>, so it is safe to use in the Virtual Machine.</p>

<p>For example, simple arithmetic expressions can be evaluated:</p>

<pre><code>IDL&gt; print, mg_evalexpr('1 + 2 + 3', error=error), error
                     6       0
</code></pre>

<p>Note that the <code>ERROR</code> keyword returns whether there was an error in  evaluating the expression. Expressions can also take variables, if their values are provided via a structure or hash-like object:</p>

<pre><code>IDL&gt; print, mg_evalexpr('exp(i * pi)', { pi: !dpi, i: complex(0, 1) })
(      -1.0000000,   1.2246468e-16)
</code></pre>

<p>&#8220;Hash-like&#8221; here means that the object implements a <code>hasKey</code> method and subscripting via brackets like the IDL 8.0 <code>Hash</code> class.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/01/24/evaluating-mathematical-expressions-without-evaluate.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDLdoc 3.4.3 released</title>
		<link>http://michaelgalloy.com/2012/01/07/idldoc-3-4-3-released.html</link>
		<comments>http://michaelgalloy.com/2012/01/07/idldoc-3-4-3-released.html#comments</comments>
		<pubDate>Sat, 07 Jan 2012 15:50:17 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[IDLdoc]]></category>
		<category><![CDATA[original]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3667</guid>
		<description><![CDATA[IDLdoc 3.4.3 fixes the bug that prevented search results from being displayed.]]></description>
			<content:encoded><![CDATA[<p><a href="http://idldoc.idldev.com/wiki/Downloads" title="IDLdoc downloads">IDLdoc 3.4.3</a> fixes the bug that prevented search results from being displayed.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2012/01/07/idldoc-3-4-3-released.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Computational science on StackExchange</title>
		<link>http://michaelgalloy.com/2011/12/13/computational-science-on-stackexchange.html</link>
		<comments>http://michaelgalloy.com/2011/12/13/computational-science-on-stackexchange.html#comments</comments>
		<pubDate>Tue, 13 Dec 2011 23:46:03 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[HPC]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3651</guid>
		<description><![CDATA[StackExchange, a network of collaborative question and answer sites, has opened a new site for computational science. Some questions on the site now: Is it possible to dynamically resize a sparse matrix in the Petsc library? Future of OpenCL? Parallel I/O options, in particular parallel HDF5 Is it worthwhile to write unit tests for scientific [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://stackexchange.com/" title="StackExchange">StackExchange</a>, a network of collaborative question and answer sites, has opened a new site for <a href="http://scicomp.stackexchange.com/" title="HPC on StackExchange">computational science</a>. Some questions on the site now:</p>

<ol>
<li>Is it possible to dynamically resize a sparse matrix in the Petsc library?</li>
<li>Future of OpenCL?</li>
<li>Parallel I/O options, in particular parallel HDF5</li>
<li>Is it worthwhile to write unit tests for scientific research codes?</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2011/12/13/computational-science-on-stackexchange.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDLdoc 3.4.2 release</title>
		<link>http://michaelgalloy.com/2011/12/12/idldoc-3-4-2-release.html</link>
		<comments>http://michaelgalloy.com/2011/12/12/idldoc-3-4-2-release.html#comments</comments>
		<pubDate>Mon, 12 Dec 2011 23:00:34 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[IDLdoc]]></category>
		<category><![CDATA[original]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3655</guid>
		<description><![CDATA[The new IDLdoc 3.4.2 release changes one small aspect of the .sav file in the distribution (the source distribution is example the same as the 3.4.1 release): it removes the IDL library routines from the .sav file, i.e., it doesn&#8217;t do a RESOLVE_ALL when constructing the .sav file. Currently, IDLdoc is built with IDL 6.4 [...]]]></description>
			<content:encoded><![CDATA[<p>The new <a href="http://idldoc.idldev.com/wiki/Downloads" title="IDLdoc downloads">IDLdoc 3.4.2 release</a> changes one small aspect of the <code>.sav</code> file in the distribution (the source distribution is example the same as the 3.4.1 release): it removes the IDL library routines from the <code>.sav</code> file, i.e., it doesn&#8217;t do a <code>RESOLVE_ALL</code> when constructing the <code>.sav</code> file.</p>

<p>Currently, IDLdoc is built with IDL 6.4 to maximize who can use it, but this means any included IDL library routines could conflict with the routines provided by the user&#8217;s IDL distribution. IDLdoc is intended to be run from the command line, i.e., a full version of IDL, not a runtime or VM environment, so the IDL library routines should be provided by the user&#8217;s IDL distribution.</p>

<p>Get the new version <a href="http://idldoc.idldev.com/wiki/Downloads" title="IDLdoc downloads">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2011/12/12/idldoc-3-4-2-release.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coyote graphics docs</title>
		<link>http://michaelgalloy.com/2011/12/12/coyote-graphics-docs.html</link>
		<comments>http://michaelgalloy.com/2011/12/12/coyote-graphics-docs.html#comments</comments>
		<pubDate>Mon, 12 Dec 2011 19:39:51 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[IDLdoc]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3640</guid>
		<description><![CDATA[David Fanning recently used IDLdoc to generate documentation for his Coyote Graphics library: On-line documentation is now available for all 41 of the Coyote Graphics programs. (These are a subset of the programs in the Coyote Library.) This will make it much easier to use these Coyote Graphics programs.]]></description>
			<content:encoded><![CDATA[<p>David Fanning recently used IDLdoc to generate <a href="http://www.idlcoyote.com/idldoc/cg/index.html" title="Coyote graphics documentation">documentation</a> for his Coyote Graphics library:</p>

<blockquote>
  <p>On-line documentation is now available for all 41 of the Coyote Graphics programs. (These are a subset of the programs in the Coyote Library.) This will make it much easier to use these Coyote Graphics programs.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2011/12/12/coyote-graphics-docs.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IDLdoc 3.4.1 released</title>
		<link>http://michaelgalloy.com/2011/11/29/idldoc-3-4-1-released.html</link>
		<comments>http://michaelgalloy.com/2011/11/29/idldoc-3-4-1-released.html#comments</comments>
		<pubDate>Tue, 29 Nov 2011 18:07:36 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[IDLdoc]]></category>
		<category><![CDATA[original]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3633</guid>
		<description><![CDATA[There was a bug in IDLdoc 3.4 which caused crashes with certain content in the Requires tag. The fix is in IDLdoc 3.4.1, get it here. Also, I have confirmation that IDLdoc will run on big libraries, i.e., over 4000 files, 7700 routines, and 850,000 lines of code!]]></description>
			<content:encoded><![CDATA[<p>There was a bug in IDLdoc 3.4 which caused crashes with certain content in the <code>Requires</code> tag. The fix is in IDLdoc 3.4.1, get it <a href="http://idldoc.idldev.com/wiki/Downloads">here</a>.</p>

<p>Also, I have confirmation that IDLdoc will run on <em>big</em> libraries, i.e., over 4000 files, 7700 routines, and 850,000 lines of code!</p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2011/11/29/idldoc-3-4-1-released.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tech-X at AGU</title>
		<link>http://michaelgalloy.com/2011/11/28/tech-x-at-agu.html</link>
		<comments>http://michaelgalloy.com/2011/11/28/tech-x-at-agu.html#comments</comments>
		<pubDate>Mon, 28 Nov 2011 21:23:37 +0000</pubDate>
		<dc:creator>Michael Galloy</dc:creator>
				<category><![CDATA[IDL]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://michaelgalloy.com/?p=3604</guid>
		<description><![CDATA[I will be AGU next week (Tuesday through Thursday morning). I&#8217;ll be hanging out at the Tech-X booth (circled at right, just up from the NASA booth) most of the time, but will also be patrolling the posters and hitting a few talks as well. Here&#8217;s our press release: Tech-X Corporation invites you to visit [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://michaelgalloy.com/wp-content/uploads/2011/11/techx-booth.png" align="right" hspace="8"/> I will be AGU next week (Tuesday through Thursday morning). I&#8217;ll be hanging out at the Tech-X booth (circled at right, just up from the NASA booth) most of the time, but will also be patrolling the posters and hitting a few talks as well.</p>

<p>Here&#8217;s our press release:</p>

<blockquote>
  <p>Tech-X Corporation invites you to visit our booth (Booth #1748) at the <a href="http://sites.agu.org/fallmeeting/" title="AGU Fall Meeting">American Geophysical Union Fall Meeting 2011</a>, December 5 &#8211; 9, at the Moscone Center in San Francisco.</p>
  
  <p>We will be featuring GPU Computing, including GPULib, our library of mathematical kernels for GPU computing.</p>
  
  <p>We will also be demonstrating the Remote Data Toolkit, which allows seamless access to remote data with IDL.</p>
  
  <p>Personnel from Tech-X and/or their collaborators will be participating in the following activities:</p>
  
  <p>Session A53C:  Multisensor and Model Aerosol Data Inter-comparison and Synergy III Posters 
  Friday, December 09  1:40PM &#8211; 6:00PM, Halls A &#8211; C</p>
  
  <p>A53C-0382 Aerosol type estimations for the ERBE period (1985 &#8211; 1989) Jose R. Fernandez, SSAI, Hampton, VA; Seiji Kato, NASA Langley Research Center, Hampton, VA; Fred G. Rose, SSAI, Hampton, VA; David W. Fillmore, Tech-X Corporation, Boulder, CO</p>
</blockquote>

<p>Exelis VIS will be at booth #1431; I haven&#8217;t heard about if there will be an IDL user group meeting.</p>

<p>UPDATE: Also, if you have an iPhone, I recommend the <a href="http://itunes.apple.com/us/app/american-geophysical-union/id476096198?mt=8">AGU app</a>. It has been very useful already for me.</p>

<p><em>Full disclosure: I work for Tech-X Corporation.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://michaelgalloy.com/2011/11/28/tech-x-at-agu.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

