<?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>vdov.net &#187; Technical</title>
	<atom:link href="http://vdov.net/index.php/category/technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://vdov.net</link>
	<description>(no longer) the 871,446th most popular blog on the tubes</description>
	<lastBuildDate>Tue, 20 Oct 2009 01:42:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>GAUSSIAN STEP MISMATCH</title>
		<link>http://vdov.net/index.php/2009/03/gaussian-step-mismatch/</link>
		<comments>http://vdov.net/index.php/2009/03/gaussian-step-mismatch/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 15:39:40 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/?p=847</guid>
		<description><![CDATA[I run into this weird error all the time in Gaussian when doing optimization or frequency restarts. This is a big problem for me because a lot of times I run these on a large number of processors, but in a queue with a relatively short max wall time. Searching the web for this error [...]]]></description>
			<content:encoded><![CDATA[<p>I run into this weird error all the time in Gaussian when doing optimization or frequency restarts. This is a big problem for me because a lot of times I run these on a large number of processors, but in a queue with a relatively short max wall time. Searching the web for this error yields one hit, and it&#8217;s in Chinese and not helpful even under Google translate.</p>
<p>Error originates: RdWrOT: IFlag =      2 Data mismatch<br />
Search? I only get <a href="http://59.77.33.35/cgi-bin/post.cgi?action=replyquote&#038;forum=3&#038;topic=409&#038;postno=1">here</a>. And the results aren&#8217;t exactly useful &#8230;</p>
<p>你给出的信息太少了,能不能多贴一点出来?</p>
<p>Anyway this almost always seems to be a problem with the collision of the previous and current route. Often I have to increase the number of optimization or SCF cycles because my systems are large and I do optimizations with diffuse functions, which tend to be pretty ill-behaved. Here&#8217;s the total head of the log:<br />
<code><br />
******************************************<br />
 Gaussian 03:  AM64L-G03RevE.01 11-Sep-2007<br />
                29-Mar-2009<br />
 ******************************************<br />
 %chk=freq_min60.chk<br />
 %nprocshared=8<br />
 Will use up to    8 processors via shared memory.<br />
 %nproclinda=16<br />
 Will use up to   16 processors via Linda.<br />
 %mem=100MW<br />
 Default route: MaxDisk=200GB<br />
 ----------------------------------------------------------------------<br />
 # freq=restart b3lyp/6-31+g(d) geom=allcheckpoint guess=read int=fmmna<br />
 toms=300 scf=tight<br />
 ----------------------------------------------------------------------<br />
 1/10=4,30=1,35=1/3;<br />
 99//99;<br />
</code> <code><br />
 GradGradGradGradGradGradGradGradGradGradGradGradGradGradGradGradGradGrad<br />
 Berny optimization.<br />
 Restoring state from the checkpoint file "freq_min60.chk".<br />
 Title:  min60<br />
 Route:  # opt b3lyp/6-31+g(d) geom=allcheckpoint guess=read int=fmmnat<br />
 oms=300 optcyc=1000 scfcyc=1000<br />
 RdWrOT: IFlag =      2 Data mismatch<br />
 MaxStp (old) =    504 MaxStp (new) =      2<br />
 MaxJob (old) =      1 MaxJob (new) =      1<br />
 RdWrOT: Data mismatch on MaxStp/MaxJob<br />
 Error termination via Lnk1e in /apps/steele/g03-E.01/l103.exe at Sun Mar 29 01:19:04 2009.<br />
 Job cpu time:  0 days  0 hours  0 minutes 13.6 seconds.<br />
 File lengths (MBytes):  RWF=     49 Int=      0 D2E=      0 Chk=     56 Scr=      1<br />
Command exited with non-zero status 1<br />
</code></p>
<p>I&#8217;m posting this more so this error comes up in Google to Vdov so maybe, maybe someone can tell me about it (no one, including people who really know the software well, has been able to provide an acceptable explanation thus far). If the two routes are both optimizations, for instance, you can usually get around this error by eliminating the opt cycle specification in the new restarted route. But if you&#8217;re moving the guess and geometry to some new calculation, it&#8217;s nearly impossible to get around this. The solution is almost always to create a formatted checkpoint file (formchk) and convert back (unfchk), so the route disappears. You could also obviously do this by specifying the new geometry as a Z-matrix in the initial calculation, but I much prefer to read my initial guess from the checkpoint, so this is not a good option in many cases. Starting the calculation and then restarting from the new binary checkpoint file usually does the trick, as there are appear to be no collisions in the route cycles.</p>
<p>Anyway, cheers. Hopefully someone who knows something about this will let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2009/03/gaussian-step-mismatch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GROMACS SUBSET STATISTICS</title>
		<link>http://vdov.net/index.php/2009/03/gromacs-subset-statistics/</link>
		<comments>http://vdov.net/index.php/2009/03/gromacs-subset-statistics/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 14:57:14 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/?p=836</guid>
		<description><![CDATA[This is a method for generating data in gromacs programs which require the system to be composed of only those molecules or atoms on which statistics will be run.
Let&#8217;s say you have a system composed of N different species and you&#8217;ve got your xtc trajectory file from the run. Then let&#8217;s say you want to [...]]]></description>
			<content:encoded><![CDATA[<p>This is a method for generating data in gromacs programs which require the system to be composed of only those molecules or atoms on which statistics will be run.</p>
<p>Let&#8217;s say you have a system composed of N different species and you&#8217;ve got your xtc trajectory file from the run. Then let&#8217;s say you want to know about average cluster sizes of one of the species in the simulation. For some programs in gromacs (not g_clustsize, the one in question here) this is fairly easy because the software lets you specify, either through the program options itself or through an index file, what you&#8217;d like to consider. With others though, especially those with options for dealing with molecule statistics explicitly, that don&#8217;t allow you to do this for whatever reason. So, a workaround is necessary.</p>
<p>First, edit your input mdp file and topology with extreme prejudice, eliminating or commenting out references to anything you&#8217;re not interested in. For instance, in my files, I need to remove all water and ions. I call all these new files &#8220;fake&#8221; versions of the real files.<br />
<code><br />
$ diff fake_fullmd.mdp fullmd.mdp<br />
15,16c15,16<br />
< xtc_grps              = protein ; sol na+ cl-<br />
< energygrps            = protein ; sol na+ cl-<br />
---<br />
> xtc_grps              = protein sol na+ cl-<br />
> energygrps            = protein sol na+ cl-<br />
</code><br />
<code><br />
$ diff fake_topol.top topol.top<br />
163a164,166<br />
> SOL              9529<br />
> NA+           10<br />
> CL-           10<br />
</code></p>
<p>Make sure you have an index file if you don&#8217;t already:<br />
<code><br />
$ make_ndx -f conf.gro<br />
</code></p>
<p>Then dump the first frame of the real simulation. The program (trjconv) will ask you which parts of the frame you&#8217;d like to dump.<br />
<code><br />
$ trjconv -f traj.xtc -o fake_protein.gro -s b4md.tpr -n index.ndx -dump 0<br />
...<br />
Select group for output<br />
Group     0 (      System) has 37968 elements<br />
Group     1 (     Protein) has  1568 elements<br />
Group     2 (   Protein-H) has   784 elements<br />
...<br />
Select a group:<br />
</code></p>
<p>Now generate the new input binary for your &#8220;fake&#8221; system.<br />
<code><br />
$ grompp -f fake_fullmd.mdp -c fake_protein.gro -p fake_topol.top -o fake_b4md.tpr<br />
</code></p>
<p>Convert your trajectory, again selecting whichever part of the trajectory you&#8217;re interested in.<br />
<code><br />
$ trjconv -f traj.xtc -o fake_protein.xtc -s b4md.tpr -n index.ndx<br />
...<br />
Select group for output<br />
Group     0 (      System) has 37968 elements<br />
Group     1 (     Protein) has  1568 elements<br />
Group     2 (   Protein-H) has   784 elements<br />
...<br />
Select a group:<br />
</code></p>
<p>Now you&#8217;re ready to run your analysis! It won&#8217;t actually use the index file you specify here (since you&#8217;re only looking at molecules with the -mol option), though it requires it for some reason that eludes me.<br />
<code><br />
$ g_clustsize -f fake_protein.xtc -s fake_b4md.tpr -mol -n index.ndx<br />
</code></p>
<p>And there you have it. Cluster statistics for an arbitrary subset of your system. Cheers.</p>
<p><b>NOTE:</b> There actually are slightly more elegant ways of doing this, but this is perfectly sufficient for simple situations, like clustering of some molecule in some other explicit medium.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2009/03/gromacs-subset-statistics/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>YOUR GOVT ON TWITTER AGAIN [SOCIAL MEDIA AND GOVT]</title>
		<link>http://vdov.net/index.php/2009/01/your-government-on-twitter-again-social-media-and-govt/</link>
		<comments>http://vdov.net/index.php/2009/01/your-government-on-twitter-again-social-media-and-govt/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 01:50:29 +0000</pubDate>
		<dc:creator>afischer</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[USA]]></category>

		<guid isPermaLink="false">http://vdov.net/?p=805</guid>
		<description><![CDATA[ A while ago I wrote a post about government types on Twitter. What surprised me at the time was that Republicans seemed to outnumber Democrats on Twitter. A blogger from the UK, Mat Morrison, confirms my supposition with a nice map. He also brings up a point I hadn&#8217;t even considered. There is almost [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-806" title="Congress Tweet Map" src="http://vdov.net/wp-content/uploads/2009/01/picture-1.png" alt="A map of congressional twitterers" width="531" height="431" /> A while ago I <a href="http://vdov.net/index.php/2008/08/your-government-on-twitter/" target="_blank">wrote a post</a> about government types on <a href="http://twitter.com" target="_blank">Twitter</a>. What surprised me at the time was that Republicans seemed to outnumber Democrats on Twitter. A blogger from the UK, Mat Morrison, confirms my supposition <a href="http://mediaczar.com/blog/2009/01/network-map-of-us-congress-twitterers/" target="_blank">with a nice map</a>. He also brings up a point I hadn&#8217;t even considered. There is almost no cross-talk between the two parties (at least on Twitter). It really makes on wonder what contact Republicans and Democrats have online. Do congressmen text each other all the time? Email? Is participation in social media balkanizing or unifying? The one thing Mr. Morrison doesn&#8217;t address is the &#8220;authenticity&#8221; of congressional tweets. There is a HUGE difference between Hillary/Obama&#8217;s staffer written tweet directives and the personal tweeting of <a href="http://twitter.com/johnCulberson" target="_blank">Rep. John Culberson</a>, <a href="http://twitter.com/timryan" target="_blank">Tim Ryan</a>, <a href="http://twitter.com/ThadMcCotter" target="_blank">Thad McCotter</a>, or <a href="http://twitter.com/neilabercrombie" target="_blank">Neil Abercrombie</a> (who has a very odd twitter feed&#8230; and starts a lot of tweets with a &#8220;Hi everybody&#8221; or similar phrase).</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2009/01/your-government-on-twitter-again-social-media-and-govt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>YOUR HOME NETWORK</title>
		<link>http://vdov.net/index.php/2008/12/your-home-network/</link>
		<comments>http://vdov.net/index.php/2008/12/your-home-network/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 22:23:51 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/?p=785</guid>
		<description><![CDATA[I&#8217;ve been giving a lot of thought to how crappy my home network has become. Of course this has gotten me to think about what my ideal home network would look like. So, for all of you out there, let&#8217;s do a little thought experiment. Say you have the money to put together your &#8220;perfect&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been giving a lot of thought to how crappy my home network has become. Of course this has gotten me to think about what my ideal home network would look like. So, for all of you out there, let&#8217;s do a little thought experiment. Say you have the money to put together your &#8220;perfect&#8221; home network. What would it look like? What major components would it use? What services would it run? How would it be organized?</p>
<p>This has been a pretty fun little experiment for me, and I&#8217;ve come up with configurations anywhere from relative modesty to incredible setups which would cost tens if not hunders of thousands of dollars and include substantial modifications to wiring and home configuration (network closet anyone?)</p>
<p>Maybe some of you have some ideas. Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2008/12/your-home-network/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TEST YOUR MPI</title>
		<link>http://vdov.net/index.php/2008/11/test-your-mpi/</link>
		<comments>http://vdov.net/index.php/2008/11/test-your-mpi/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 20:53:09 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/?p=776</guid>
		<description><![CDATA[It sometimes amazes me how a lot of people are much happier to ask stupid questions than to just do the basic work themselves, maybe even learning something in the process. In the Gromacs community, the past couple weeks have been a great time for some nice examples of this. Version 4 came out, which [...]]]></description>
			<content:encoded><![CDATA[<p>It sometimes amazes me how a lot of people are much happier to ask stupid questions than to just do the basic work themselves, maybe even learning something in the process. In the Gromacs community, the past couple weeks have been a great time for some nice examples of this. Version 4 came out, which *substantially* improves the scalability of parallelized molecular simulations, due to a move from the previously standard particle decomposition method to the much more general domain decomposition (DD) method. The DD method has been popular in continuum physics and in other fields for quite some time, but this is the first real application to discrete work it has seen. </p>
<p>So, of course, people need to know how to do parallel simulations with this code. In all major package managers 4.0.2 hasn&#8217;t made it through any appropriate channels, so people have to build it themselves. Unlike most major scientific packages, building Gromacs is absurdly simple. Things are quite beautiful actually. </p>
<p>Anyway, my point isn&#8217;t to extol the virtues of Gromacs but rather to suggest that if something doesn&#8217;t work, do the initial work to figure out the problem and exhaust at least the most obvious problems with the software before throwing your hands up in the air. Problem with MPI? Test it first! Anyone working with MPI should at the very least be able to look up how to write a basic MPI application. </p>
<p>An example:</p>
<p><code>
<pre>
#include "stdio.h"
#include "mpi.h"

int
main(argc, argv)
int   argc;
char  *argv[];
{
  int  rank, size, length;

  char name[MPI_MAX_PROCESSOR_NAME];

  MPI_Init(&#038;argc, &#038;argv);
  MPI_Comm_rank(MPI_COMM_WORLD, &#038;rank);
  MPI_Comm_size(MPI_COMM_WORLD, &#038;size);
  MPI_Get_processor_name(name, &#038;length);

  printf ("process %d of %d on %s\n", rank, size, name);

  MPI_Finalize();

  return 0;
}
</pre>
<p></code></p>
<p>If you&#8217;re on a modern Debian or Ubuntu build with OpenMPI installed (pretty much the standard MPI implementation you should be using), then build.</p>
<p><code>
<pre>
$ mpicc.openmpi -o hello hello.c
$ mpirun.openmpi -np 4 hello
process 1 of 4 on enskog
process 2 of 4 on enskog
process 3 of 4 on enskog
process 0 of 4 on enskog
</pre>
<p></code></p>
<p>I do love my MPI. And Gromacs does dynamic load balancing now &#8230; so freaking fast.</p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2008/11/test-your-mpi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>COMPLEXITY OF SONGS</title>
		<link>http://vdov.net/index.php/2008/07/computational-complexity-of-songs/</link>
		<comments>http://vdov.net/index.php/2008/07/computational-complexity-of-songs/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 15:03:03 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/?p=719</guid>
		<description><![CDATA[A short post, but I have to post it. &#8216;The Complexity of Songs&#8217; is a short communication Don Knuth wrote back in the 70s which is really quite interesting. It&#8217;s also a pretty funny joke.

The article capitalizes on the tendency of popular songs to evolve from long and content-rich ballads to highly repetitive texts with [...]]]></description>
			<content:encoded><![CDATA[<p>A short post, but I have to post it. &#8216;The Complexity of Songs&#8217; is a short communication Don Knuth wrote back in the 70s which is really quite interesting. It&#8217;s also a pretty funny joke.</p>
<blockquote><p>
The article capitalizes on the tendency of popular songs to evolve from long and content-rich ballads to highly repetitive texts with little or no meaningful content.</p>
<p>[...]</p>
<p>&#8220;&#8230;our ancient ancestors invented the concept of refrain&#8221; to reduce the space complexity of songs, which becomes crucial when a large number of songs is to be committed to one&#8217;s memory.</p>
<p>[...]</p>
<p>Finally, progress during the twentieth century—stimulated by the fact that &#8220;the advent of modern drugs has led to demands for still less memory&#8221;—leads to the ultimate improvement: Arbitrarily long songs with space complexity O(1), e.g. for a song to be defined by the recurrence relation.
</p></blockquote>
<p>We&#8217;ve really taken the concept to heart in modern popular music haven&#8217;t we? See <a href="http://en.wikipedia.org/wiki/Computational_complexity_of_songs" target="_blank">here</a> for explanation and <a href="http://www.cs.utexas.edu/users/arvindn/misc/knuth_song_complexity.pdf" target="_blank">here</a> for the original paper.</p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2008/07/computational-complexity-of-songs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>C++ THREADS</title>
		<link>http://vdov.net/index.php/2008/07/c-threads/</link>
		<comments>http://vdov.net/index.php/2008/07/c-threads/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 23:07:50 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/?p=716</guid>
		<description><![CDATA[I&#8217;m used to writing in C (and Matlab, unfortunately), though I&#8217;m not particularly proficient in either. But lately I&#8217;ve taken on C++ and holy hell what a huge language. Still, it has a lot of nice features that are going to be important to me in the next year of my graduate work and I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m used to writing in C (and Matlab, unfortunately), though I&#8217;m not particularly proficient in either. But lately I&#8217;ve taken on C++ and holy hell what a huge language. Still, it has a lot of nice features that are going to be important to me in the next year of my graduate work and I&#8217;m gonna stick with it. Yay OO, ugh. </p>
<p>For all its size, one of the areas where I have been left completely unsatisfied is in support for threads. Yes, of course POSIX threads are there and I&#8217;ve had some success implementing them in some of my older, now completely obsolete C code which I never want to look at again. It&#8217;s baffling to me that there is nothing in the STL which develops some nice thread classes. I know there are at least 2 (if not more) very experienced C++ programmers who read vdov.net, and I&#8217;m looking for advice. Have you looked at some developed thread classes and if so what have you thought? Recommendations? I would really rather not have to write my own thread classes from scratch (especially since accessing the C pthread library would be a nightmare here), as this is both utterly useless for my research and, well, I&#8217;d probably screw it up with near-fledgling knowledge of the language.</p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2008/07/c-threads/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TWEENERS</title>
		<link>http://vdov.net/index.php/2008/05/tweeners/</link>
		<comments>http://vdov.net/index.php/2008/05/tweeners/#comments</comments>
		<pubDate>Tue, 27 May 2008 21:17:43 +0000</pubDate>
		<dc:creator>jrgreen</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/?p=707</guid>
		<description><![CDATA[I&#8217;m drawn to writing with a clear purpose and logical structure: writing that places the readers&#8217; consumption of the content above all else. When studying a technical subject, I attempt to find the clearest, most concise text(s) available. That is, I look for the book or books that will expose the roots of the area. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m drawn to writing with a clear purpose and logical structure: writing that places the readers&#8217; consumption of the content above all else. When studying a technical subject, I attempt to find the clearest, most concise text(s) available. That is, I look for the book or books that will expose the roots of the area. Further, I find reading more fruitful when the text is designed to lay a foundation for a field using a line of reasoning with a concise argument or set of arguments, as opposed to a purely axiomatic or pedagogical approach.</p>
<p>Typically, such books are shorter than those I use for reference and much longer than a wikipedia article &#8211; they are <em>in between</em>. I&#8217;ve taken to calling these books &#8220;tweeners&#8221; (n., pl., pronounced tee-wieners), as in &#8220;they are be-tween-ers&#8221;. Another possible term was &#8220;t&#8217;ain&#8217;ts&#8221; (n., pl., a contracted contraction of <em>it</em> with <em>ain&#8217;t</em>), as in &#8220;t&#8217;ain&#8217;t a wikipedia article and t&#8217;ain&#8217;t a reference book&#8221;. While I prefer the equally appropriate term t&#8217;ain&#8217;t, the unfortunate (inappropriate) slang meaning justifies avoiding this collision of terminology (no link). There are also less severe collisions with &#8220;tweener&#8221;:</p>
<p>Let it be understood that I am not referring to a tweener, n., (1) a person capable of playing multiple positions in a sport, (2) a person that falls between two age generations, (3) a <a href="http://en.wikipedia.org/wiki/Bowling_form" target="_blank">bowling form</a>, (4) a hobbit between the ages of 20 and 32 or (5) a man that looks like a woman or vice versa.</p>
<p>Currently, I&#8217;m reading A.I. Khinchin&#8217;s &#8220;Mathematical Foundations of Statistical Mechanics&#8221;. It&#8217;s definitely a tweener! As far as I know, the readers (and writers) of vdov.net are a diverse group. Do <em>you</em> have a tweener? Are you man, woman, man that looks like a woman, woman that looks like a man or hobbit enough to share it?</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2008/05/tweeners/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OPTIMAL DECOMPOSITION OF A BOX [UPDATED]</title>
		<link>http://vdov.net/index.php/2008/05/optimal-decomposition-of-a-box/</link>
		<comments>http://vdov.net/index.php/2008/05/optimal-decomposition-of-a-box/#comments</comments>
		<pubDate>Mon, 26 May 2008 18:18:38 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/?p=708</guid>
		<description><![CDATA[For awhile now I&#8217;ve been doing distributed computing based on two major methods: the METIS graph partitioning method for decomposition and the MPI method for parallelism. Both of these techniques are well established and used extensively in many fields of computational physics, engineering and chemistry. I&#8217;ve been doing simulations in a simple mesh for a [...]]]></description>
			<content:encoded><![CDATA[<p>For awhile now I&#8217;ve been doing distributed computing based on two major methods: the METIS graph partitioning method for decomposition and the MPI method for parallelism. Both of these techniques are well established and used extensively in many fields of computational physics, engineering and chemistry. I&#8217;ve been doing simulations in a simple mesh for a few months now. This mesh is simply a box with 200 x 200 x 200 cells. I decompose the box into 8 parts, each part to be run on a different processor using MPI as the construct to deal with processor-processor boundaries/communication. It occurred to me that the METIS method does something particularly ridiculous in this case.</p>
<p>If you simply break the box up into 8 pieces, the easiest possible way to do this is just to simply cut through the planes of the box. The faces of the global box do not exist on processor boundaries, as I apply boundary conditions on all these faces. Each cutting plane has 200 x 200 faces, so you don&#8217;t need a CS or math degree to know that the number of processor faces in this case would be 120,000. Is this what METIS gives you? No! It gives you 164,033 processor faces. What the hell?</p>
<p>Here&#8217;s a little graph of what this looks like (excuse my very quick and dirty xfig&#8217;ing). The width of the boundaries is directly related to the number of processor-processor faces between each decomposed domain.</p>
<p><img src='http://vdov.net/wp-content/uploads/2008/05/metis.png' width=500></p>
<p>While there is some obvious symmetry here (within a certain level of approximation), this yields far from the cleanest solution. While METIS may be fantastic for complex domains, it doesn&#8217;t do well with simple domains with obvious symmetry. Further, each domain should have a maximum of 3 processor-processor boundaries! It’s important to note here that in fact each processor has 3 major processor-processor boundaries (each node has 3 wide connections &#8212; this tell us that METIS is in fact roughly trying to get to the optical structure described above). It’s all the little connections that would be removed with some knowledge of the basic full domain structure. I understand and perhaps believe that this could all be due to some convergence criteria in the method which I am unaware of (in my reading of the papers on the subject and the code itself I haven&#8217;t found any such parameter), though still, I see no reason why some from-end part of the algorithmic implementation shouldn&#8217;t take into consideration the symmetry of the large and subdomain groups.</p>
<p>Cheers.</p>
<p>[UPDATE after the jump] <span id="more-708"></span></p>
<p><b>UPDATE:</b> Here are two images from the processor 1 set. I think everyone should be able to see what I mean now.</p>
<p><img src='http://vdov.net/wp-content/uploads/2008/05/z.png' width=500><br />
<img src='http://vdov.net/wp-content/uploads/2008/05/x.png' width=500></p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2008/05/optimal-decomposition-of-a-box/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MATLAB IS INFURIATING BUT HERE&#8217;S SOME CODE</title>
		<link>http://vdov.net/index.php/2008/01/matlab-is-infuriating-but-heres-some-code/</link>
		<comments>http://vdov.net/index.php/2008/01/matlab-is-infuriating-but-heres-some-code/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 16:42:55 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2008/01/664</guid>
		<description><![CDATA[I&#8217;ve had to do a lot of work in Matlab recently, not because I want to work in Matlab or learn a new (albeit very contrived) language. The only reason is that I prefer not to rewrite huge sections of Matlab code that do a lot of the important work for me in my bioinformatics [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had to do a lot of work in Matlab recently, not because I want to work in Matlab or learn a new (albeit very contrived) language. The only reason is that I prefer not to rewrite huge sections of Matlab code that do a lot of the important work for me in my bioinformatics applications. Yes, I could write my own principal component engine, my own golay smoothing, my own normalizations and plotting code, my own peak discovery and alignment code, but hell &#8230; why would I do all of that, especially since this application is not particularly computationally expensive. Knowing that all these functions already exist in Matlab, I thought maybe this would be a one day project. Little did I know that Matlab totally sucks. Let me give an example. Let&#8217;s say you want to plot a bunch of points from some matrix of data, and some of those points come from group 1, some from group 2, etc. You&#8217;d think in something like Matlab this would be obvious. And indeed, at first approximation it is. In theory you just use a command &#8216;hold on&#8217;, which will hold the plot such that you can successively add data points to the plot and you won&#8217;t delete all the stuff you already added with the plot command. In theory this looks something like this (don&#8217;t worry about the other functions, they are hashes associated with each experiment such that the data gets plotted with groups of points correctly distinguished):</p>
<pre>
hold on;
for k = 1:numfiles
  for l = 1:numexpt
    if (isequal(char(grp(k)),expt(l).name)) pplot(l) = ...
    plot(P(k,compa),P(k,compb),plothash_a{l}, ...
    'MarkerSize',10,'MarkerEdgeColor','k','MarkerFaceColor',plothash_c{l});
    end
  end
end
</pre>
<p>Indeed, this works very well. So, let&#8217;s say instead I want to plot in 3D. So, I use the command &#8216;plot3&#8242; instead of &#8216;plot&#8217;. Of course, one would expect this to be very simple. The part here that counts looks like:</p>
<pre>
hold on;
[...]
if (isequal(char(grp(k)),expt(l).name)) pplot(l) = ...
plot3(P(k,compa),P(k,compb),P(k,compc),plothash_a{l}, ...
'MarkerSize',10,'MarkerEdgeColor','k','MarkerFaceColor',plothash_c{l});
[...]
</pre>
<p>Knowing that plot3 is the correct command, this produces a 2D plot only representative of the P(k,compa),P(k,compb) data segment. What the hell? So it turns out that if you hold a new plot with &#8216;hold on&#8217;, Matlab assumes you want a 2D plot. Then upon trying to plot in 3D, Matlab decides it is smarter than you are and that clearly your choice of a 2D plot outweighs your decision to use the &#8216;plot3&#8242; command, and <b>plots in 2D anyway without throwing an error</b>. Why would &#8216;plot3&#8242; tell me nothing??? I realize this is a pretty trivial complaint and there are plenty of other great examples of ridiculous crap in Matlab that makes no sense.</p>
<p>Anyway, done complaining. In a ton of data processing Matlab demos, the program asks you to important a series of files into a one data matrix, and does it with some very clumsy code that requires you to manually change the program every time you move to a new data set. Not really my style. Let&#8217;s say you have a bunch of data vectors organized in a series of directories (happens all the time), where the directories are representative of some data group that should be accessible as a unit. How about something like this:</p>
<pre>
repository = pwd;
expt = dir('*.enabled');
numexpt = size(expt,1);
for i = 1:numexpt
  repo{i} = strcat(repository,'/',expt(i).name,'/');
  file(i,:) = dir([repo{i} '*.csv']);
  num(i,:) = numel(file(i,:));
  files(i,:) = strcat(repo{i},{file(i,:).name});
end
expt = transpose(expt);
file = transpose(file);
num = transpose(num);
files = transpose(files);
numfiles = numel(files);
for k = 1:numfiles
  [X,Y(:,k)] = textread(files{k});
end
</pre>
<p>I use the transposes just because they are nice later in my code, they are certainly not required. I am no Matlab programmer, and I know some of you out there are, so any suggestions as to better file import mechanisms would be greatly appreciated. Short of that though, this is a million times better and far more general than the crap they put you through in the Matlab demos (specifically anything in the bioinformatics sections).</p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2008/01/matlab-is-infuriating-but-heres-some-code/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>SIMPLE LINUX, UBUNTU, LINUS &amp; COMPIZ</title>
		<link>http://vdov.net/index.php/2007/12/simple-linux-ubuntu-linus-compiz/</link>
		<comments>http://vdov.net/index.php/2007/12/simple-linux-ubuntu-linus-compiz/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 02:05:45 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/12/652</guid>
		<description><![CDATA[Quite a title eh? Well this is sort of a random stream-of-consciousness kind of post. So be prepared. But this place was getting a little dull recently so I thought I&#8217;d rehash some of the things I&#8217;ve done to my machines recently and perhaps review them a bit. So here goes.
I think I read (though [...]]]></description>
			<content:encoded><![CDATA[<p>Quite a title eh? Well this is sort of a random stream-of-consciousness kind of post. So be prepared. But this place was getting a little dull recently so I thought I&#8217;d rehash some of the things I&#8217;ve done to my machines recently and perhaps review them a bit. So here goes.</p>
<p>I think I read (though I can&#8217;t seem to find the reference anywhere) an interview with Linus Torvalds recently in which he said something like the following (if you know the reference feel free to let me know, I&#8217;m pretty sure it was on Kernel Trap this year sometime):</p>
<blockquote><p>
I don&#8217;t use Debian or any other &#8216;low-level&#8217; Linux flavors because I feel like Linux should be easy to use and manageable for day-to-day work, etc.
</p></blockquote>
<p>Those of you that know me well probably know that I have made nothing short of a career in the past 3 years going exactly in the opposite direction here. Recently however, I decided to take the plunge for a number of reasons. They are briefly: 1) I&#8217;ve got way too many machines to take care of these days, 2) I love Debian but on laptops I find it a bit annoying to have to configure dynamic things every time I move and 3) Recently I screwed up a bunch of my machines and decided it was time to reinstall them, 4) Being ridiculously OCD I needed to have all my machines running the same software and they all basically need to look the same. Lastly, and definitely most importantly, Ion3 was really having trouble running a lot of the software I needed to run, including Fluent (ANSYS), Gambit, Matlab, etc. So all these things together, along with my acquisition of a brand new laptop, made me decide to take the plunge and reinstall all my machines with &#8230; (drum-roll), 64-bit Ubuntu.</p>
<p>Generally I&#8217;m pretty happy with my choice. I loved the Ion3 window manager and Debian in general, but Ubuntu is basically Debian with some fancy crap built on top of it. So the backend is basically the same. Plus the update cycle is way better in Ubuntu &#8230; well, at least faster. As far as using Gnome, I&#8217;m not completely sold yet. I sort of like it &#8230; I guess, and I&#8217;m getting used to it. But I do miss the simplicity of Ion3. I don&#8217;t, however, miss configuring everything manually in Debian for my laptop or the huge number of problems I had with applications really not liking the Ion3 windowing model.</p>
<p>Oddly, Ubuntu Gusty&#8217;s (7.10) compositing window manager (Compiz Fusion 0.52) is pretty annoying. There are really no real benefits to it so far as I can tell, other than Aero/Aqua-type effects. And there are plenty of annoyances. As I first got back to reinstalling my systems, basically everything that didn&#8217;t work with Ion3 well also didn&#8217;t work with Compiz, so I had to disable it out of the box on all of my machines. Annoying.</p>
<p>Alec turned me on to &#8216;unison&#8217; as a nice little remote folder syncing utility, which is quite wonderful. I use it now to sync my document tree between my 3 work machines (work laptop, work desktop and home desktop). It&#8217;s designed for just 2 machines but it works equally well with 3.</p>
<p>I also got a nice new laptop recently, a Dell Latitude D430, which is their ultra-portable business machine. I&#8217;ve used it extensively already and generally I&#8217;m quite happy with it. Ubuntu runs great on it &#8212; I haven&#8217;t really been able to detect even the slightest hitch yet &#8212; it&#8217;s got fantastic battery life and the performance sacrifices due to ultra-portability and long battery life really don&#8217;t affect me in the slightest. It&#8217;s really going to be brilliant to be able to work on a plane or while traveling, not to mention when I just need to get out of lab for any number of reasons (there are lots of them).</p>
<p>I&#8217;m not sure I have much else to say. Lots of real work to get done since my OP is over, as my boss wants to publish pretty soon and I really don&#8217;t have enough yet done to do that. Hopefully I&#8217;ll be writing paper #2 in February. I doubt anyone will really care about this post but it&#8217;s here for you if you like; I had to write something, this place is dead. Hey you &#8230; write something for vdov.</p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/12/simple-linux-ubuntu-linus-compiz/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>MLB.COM BASEBALL ON THE IPHONE</title>
		<link>http://vdov.net/index.php/2007/09/mlbcom-baseball-on-the-iphone/</link>
		<comments>http://vdov.net/index.php/2007/09/mlbcom-baseball-on-the-iphone/#comments</comments>
		<pubDate>Mon, 17 Sep 2007 23:46:39 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Sports]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/09/638</guid>
		<description><![CDATA[Dear MLB.com,
As evidenced by your almost immediate response to the release of the iPhone on your mobile updates page for real-time info, stats and pitch-by-bitch play, some non-trivial number of your customers must have iPhones by now. Anyone who reads this site with any regularity would know that I waited in line to get an [...]]]></description>
			<content:encoded><![CDATA[<p>Dear MLB.com,</p>
<p>As evidenced by your almost immediate response to the release of the iPhone on your mobile updates page for real-time info, stats and pitch-by-bitch play, some non-trivial number of your customers must have iPhones by now. Anyone who reads this site with any regularity would know that I waited in line to get an iPhone on the day it was released, and was pleased by your response. Even though most of the places I watch or check baseball have some sort of Wi-Fi, I still prefer the low-bandwidth version a large part of the time. However recently you have decided to put a banner ad across the top of most of these pages. This means that on any of the real-time game stat and pitch-by-bitch windows, the most important stats are now obfuscated as there is no longer enough real estate on the iPhone screen, and no real way to scale the image. This is pretty much me just whining however it has resulted in me not using that page very much anymore. If it is necessary to use ads at all, I am sure there is a more logical way to place that ad so the content doesn&#8217;t suffer.</p>
<p>Thank you,<br />
acosta</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/09/mlbcom-baseball-on-the-iphone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FTP HACK</title>
		<link>http://vdov.net/index.php/2007/09/ftp-hack/</link>
		<comments>http://vdov.net/index.php/2007/09/ftp-hack/#comments</comments>
		<pubDate>Mon, 10 Sep 2007 18:56:05 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/09/636</guid>
		<description><![CDATA[The good people over at The New Criterion have seen their fair share of problems recently. As some of you might know, I had done some consulting work for them and it was just one thing after another. None of them were anyone&#8217;s particular fault, though the accumulation of a wide range of issues resulted [...]]]></description>
			<content:encoded><![CDATA[<p>The good people over at <a href="http://newcriterion.com" target="_blank">The New Criterion</a> have seen their fair share of problems recently. As some of you might know, I had done some consulting work for them and it was just one thing after another. None of them were anyone&#8217;s particular fault, though the accumulation of a wide range of issues resulted in near-constant problems and downtime, including multiple root-level and apache-level comprimises. I&#8217;ll avoid describing the evolution of those issues, but this last one is just funny, mostly because I haven&#8217;t ever really seen this type of stuff before on one of my own machines.<span id="more-636"></span></p>
<p>This morning the people over at TNC emailed me this morning because their site was down. Indeed, wordpress couldn&#8217;t talk to MySQL. I logged in to find a load of >70 on the machine. Since the machine was almost completely unresponsive, I just started killing likely culprits, thinking this was a similar issue that had cropped up before in RHEL4+Apache/2.0.52 (don&#8217;t get me started &#8230; I fully hate Red Hat). Turns out they had a user-level comprimise for some random Red Hat user &#8216;netdump&#8217;. Without getting into the specifics, they had installed a nice little ftp scanner and a 500k dictionary for a pretty random looking brute-force attack.</p>
<p>What is particularly amazing in this case is it is in fact completely random over 0-255.0.0/16 and tries to log in only as &#8220;Administrator&#8221;, a user typically seen in Windows environments. This application had not more than 1 hour to run, and easily recovered 131 admin passwords over the 210/8 block (Asia). Now, having cleaned this particular crap from their machine, I&#8217;m sitting on a log file of 131 admin passwords for all sorts of machines in Asia, including some fairly large corporations, and in a fairly ironic twist, a number of network security firms. Aside from your standard bad admin passwords including &#8216;123qwe&#8217;, &#8216;123456&#8242;, &#8216;administrator&#8217;, &#8216;pineapple&#8217;, &#8217;software&#8217;, &#8216;root&#8217;, the dictionary included in this particular scanner sheds some light as to other ways people create &#8220;secure&#8221; passwords. For instance, &#8216;!@#$%&#8217; is the logical replacement for &#8216;12345&#8242;, but modern dictionary attacks aren&#8217;t fooled.</p>
<p>So anyway, what should I do with all this information. Purge it? I&#8217;m not going through the trouble of emailing noc/abuse/postmasters about this.</p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/09/ftp-hack/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WHEN SOFTWARE MODELS COLLIDE</title>
		<link>http://vdov.net/index.php/2007/08/when-software-models-collide/</link>
		<comments>http://vdov.net/index.php/2007/08/when-software-models-collide/#comments</comments>
		<pubDate>Mon, 06 Aug 2007 20:35:40 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/08/625</guid>
		<description><![CDATA[Doesn&#8217;t this seem fundamentally wrong somehow?

pts/4 root@enskog:/etc/apt # apt-cache policy iceweasel
iceweasel:
  Installed: 2.0.0.5-0etch1+lenny1
  Candidate: 2.0.0.5-0etch1+lenny1
  Version table:
     2.0.0.6-1 0
        500 http://debian.osuosl.org unstable/main Packages
     2.0.0.6-0etch1 0
        600 http://security.debian.org stable/updates/main Packages
 *** [...]]]></description>
			<content:encoded><![CDATA[<p>Doesn&#8217;t this seem fundamentally wrong somehow?</p>
<blockquote><pre><code>
pts/4 root@enskog:/etc/apt # apt-cache policy iceweasel
iceweasel:
  Installed: 2.0.0.5-0etch1+lenny1
  Candidate: 2.0.0.5-0etch1+lenny1
  Version table:
     2.0.0.6-1 0
        500 http://debian.osuosl.org unstable/main Packages
     2.0.0.6-0etch1 0
        600 http://security.debian.org stable/updates/main Packages
 *** 2.0.0.5-0etch1+lenny1 0
        900 http://security.debian.org testing/updates/main Packages
        100 /var/lib/dpkg/status
     2.0.0.3-1 0
        600 http://debian.osuosl.org stable/main Packages
        900 http://debian.osuosl.org testing/main Packages
</code></pre>
</blockquote>
<p>I just thought it was a little funny. If you use Debian or Ubuntu and Co., you might get it.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/08/when-software-models-collide/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SORT OF CLEVER</title>
		<link>http://vdov.net/index.php/2007/07/sort-of-clever/</link>
		<comments>http://vdov.net/index.php/2007/07/sort-of-clever/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 14:44:02 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/07/621</guid>
		<description><![CDATA[I found this little kernel-init application called bootchart today (OK so it was on some blog that I get in my RSS feed), and it&#8217;s sort of clever. It just loads as you load your kernel and stores a bunch of data in memory (as generally one grabs /boot in read-only) then writes it out [...]]]></description>
			<content:encoded><![CDATA[<p>I found this little kernel-init application called bootchart today (OK so it was on some blog that I get in my RSS feed), and it&#8217;s sort of clever. It just loads as you load your kernel and stores a bunch of data in memory (as generally one grabs /boot in read-only) then writes it out to file in /var/log/bootchart.tgz. They&#8217;ve written a little java application that interprets all the data it gathered and pushes out an image of everything it knew about during the boot process. I thought it was sort of clever. If you install it and are running grub, it&#8217;s pretty simple to set up. Just edit /boot/grub/menu.lst and add something like this (this is mine):</p>
<blockquote><p><code><br />
title           Debian GNU/Linux, kernel 2.6.21-2-amd64 (bootchart mode)<br />
root            (hd1,0)<br />
kernel          /boot/vmlinuz-2.6.21-2-amd64 root=/dev/sdb1 ro init=/sbin/bootchartd<br />
initrd          /boot/initrd.img-2.6.21-2-amd64<br />
savedefault<br />
</code></p></blockquote>
<p>For most of you the only real difference is the addition of &#8216;init=/sbin/bootchard&#8217; to the kernel line. I added a new selection to my grub menu for this but I suppose you could run it at every boot &#8230; though I can&#8217;t imagine this being that fun more than once or twice. Here&#8217;s the image of what I ended up with on my machine at work (8 processor Xeon, 16 gigs of RAM and 15K disks).<span id="more-621"></span></p>
<p><a href='http://vdov.net/wp-content/uploads/2007/07/bootchart.png' title='bootchart image for acosta’s work machine'><img src='http://vdov.net/wp-content/uploads/2007/07/bootchart.png' alt='bootchart image for acosta’s work machine' width=550 /></a></p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/07/sort-of-clever/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IPHONE FIRST IMPRESSIONS</title>
		<link>http://vdov.net/index.php/2007/06/iphone-first-impressions/</link>
		<comments>http://vdov.net/index.php/2007/06/iphone-first-impressions/#comments</comments>
		<pubDate>Sat, 30 Jun 2007 19:51:11 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/06/620</guid>
		<description><![CDATA[I told myself initially that I wouldn&#8217;t write a post about my impressions of the iPhone, but after having used it for now approaching 20 hours and having done some investigatory work on some network service of the phone, I thought I would at least write something, albeit short.
Commercials don&#8217;t do this thing justice. It [...]]]></description>
			<content:encoded><![CDATA[<p>I told myself initially that I wouldn&#8217;t write a post about my impressions of the iPhone, but after having used it for now approaching 20 hours and having done some investigatory work on some network service of the phone, I thought I would at least write something, albeit short.</p>
<p>Commercials don&#8217;t do this thing justice. It is just simply fun to use. I haven&#8217;t really found a single glitch so far. The notes and calculator applications are a little ugly and look rushed, but I imagine in time these will be fixed or people will get used to them. Their functionality isn&#8217;t bad &#8230; just a little ugly. I could also use some more information about the phone. I, like many people, filter connections to my wireless access points and I needed to know it&#8217;s MAC address. That information wasn&#8217;t available, so I had to put it on another hub and arp the thing, which was a little annoying.</p>
<p>It does, however, work flawlessly as advertised. Interestingly though, I started doing some traffic dumps from the WiFi interface of the phone, and found that all of those network applications actually get all their data from Apple, not Yahoo (weather) or Google (maps). In fact all application data comes from wu.apple.com. Based on it&#8217;s IP it appears to actually be an Apple machine. So &#8230; am I to understand that all Google&#8217;s map data is specifically reorganized for Apple and sent to them? Can the application actually interpret the raw data from Google&#8217;s machines, or are there a fair number of processing steps between Google&#8217;s data and the device data? A simple scan of the device from another machine on my local network indicates that it&#8217;s pretty locked down. Nothing is open. On another note: EDGE is surprisingly zippy on this device &#8230; it certainly was NOT on my last EDGE device. I don&#8217;t know if this is from the rumored EDGE network upgrades or the iPhone itself. Regardless, I&#8217;m pretty happy with this thing. </p>
<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/06/iphone-first-impressions/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>FLASH 9 ON X64</title>
		<link>http://vdov.net/index.php/2007/06/flash-9-on-x64/</link>
		<comments>http://vdov.net/index.php/2007/06/flash-9-on-x64/#comments</comments>
		<pubDate>Thu, 28 Jun 2007 17:36:21 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/06/619</guid>
		<description><![CDATA[Like many people I have been consistently frustrated with the last of Flash support on AMD64/X64. I&#8217;m no Flash fan, and if I had my way about it we would just eliminate it entirely from all aspects of the web. But unfortunately I don&#8217;t have that option. The vast majority of solutions to this problem [...]]]></description>
			<content:encoded><![CDATA[<p>Like <a href="http://blogs.adobe.com/penguin.swf/2006/10/whats_so_difficult_64bit_editi.html" target="_blank">many people</a> I have been consistently frustrated with the last of Flash support on AMD64/X64. I&#8217;m no Flash fan, and if I had my way about it we would just eliminate it entirely from all aspects of the web. But unfortunately I don&#8217;t have that option. The vast majority of solutions to this problem involve running a chroot-ed X86 environment within your AMD64 build in order to get Flash to play. Yes, major system overhaul for a simple plugin &#8230; seems a bit much. But today I found a good solution that actually works (OK Miriam found it and told me). This is a simple nspluginwrapper issue. In whatever your distro, install nspluginwrapper and then go download the 32 bit version of Flash 9. Extract the libflashplayer.xpt file and the libflashplayer.so file and put them in the appropriate location (in my case /usr/lib/mozilla/plugins/). Then, just run,</p>
<blockquote><p><code>nspluginwrapper -i /usr/lib/mozilla/plugins/libflashplayer.so</code></p></blockquote>
<p>which will create the file npwrapper.libflashplayer.so in that plugins directory. That&#8217;s it. You&#8217;re done. Flash 9 works. Brilliant. Now I can waste away time watching YouTube at work, which is really all I was looking for anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/06/flash-9-on-x64/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ADDICTED TO VIM</title>
		<link>http://vdov.net/index.php/2007/06/addicted-to-vim/</link>
		<comments>http://vdov.net/index.php/2007/06/addicted-to-vim/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 01:55:07 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/06/617</guid>
		<description><![CDATA[I imagine most of you that know me well know that I prefer the vi/vim editing environment more than any other. I&#8217;ve never personally enjoyed emacs (though I do love the auctex plugins to emacs, but only with the viper extensions to give emacs vi keybindings). Point being I am always searching for new ways [...]]]></description>
			<content:encoded><![CDATA[<p>I imagine most of you that know me well know that I prefer the vi/vim editing environment more than any other. I&#8217;ve never personally enjoyed emacs (though I do love the auctex plugins to emacs, but only with the viper extensions to give emacs vi keybindings). Point being I am always searching for new ways to integrate vim keybindings into my life. And luckily for me I&#8217;ve found the next new thing: <a href="http://vimperator.mozdev.org/" target="_blank">VIMPERATOR</a>. Now, granted, it&#8217;s by no means perfect: there are certain things about web browsing that don&#8217;t lend itself too easily to the vim world. That being said this thing goes a long way to make up for those issues. It&#8217;s invented a number of things that are very <i>vim-like</i> to compensate. I highly recommend it &#8230; check it out. Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/06/addicted-to-vim/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>ENDNOTE/BIBTEX FUN</title>
		<link>http://vdov.net/index.php/2007/05/endnotebibtex-fun/</link>
		<comments>http://vdov.net/index.php/2007/05/endnotebibtex-fun/#comments</comments>
		<pubDate>Fri, 04 May 2007 15:07:58 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/05/612</guid>
		<description><![CDATA[I&#8217;ve always wanted to keep my method of having a single BibTeX library. So I keep a file in my home directory called .refs.bib which is linked automatically to the appropriate location with my new LaTeX document function, along with my LaTeX template, etc. However as my library has grown this has become difficult to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always wanted to keep my method of having a single BibTeX library. So I keep a file in my home directory called .refs.bib which is linked automatically to the appropriate location with my new LaTeX document function, along with my LaTeX template, etc. However as my library has grown this has become difficult to manage, and I find myself realizing I simply can&#8217;t do it without some reasonable grouping or management. Recently a friend of mine in the lab began switching from Word to LaTeX and she had been used to using Endnote to manage references. She found a reasonable Endnote XML -> BibTeX converter online which worked pretty well. However managing a huge text file of references wasn&#8217;t exactly what she had in mind. <a href="http://jabref.sourceforge.net/" target="_blank">Jabref</a> was the answer. I played around with it and was relatively impressed. It is basically, feature for feature, a complete open source Endnote replacement. And quite honestly I&#8217;d say it&#8217;s significantly more stable than Endnote. So if you&#8217;re thinking of moving to LaTeX (I&#8217;m writing this with a few people in mind), give it a whirl. I&#8217;m still not 100% sold on it for my own use but for new users it will make the transition quite wonderful.<span id="more-612"></span></p>
<p>The most important feature for me is the grouping management. It has a nice way of grouping articles. For instance, given this and other entries (which I imported automatically by just searching for the title in Jabref),</p>
<blockquote><pre><font size="1"><code allow="none">
@ARTICLE{Wu2004,
  author = {Biao Wu and Philip I. Cohen and L. C. Feldman and Zhenyu Zhang},
  title = {Controlling film growth with selective excitation: Chemical vapor
        deposition growth of silicon},
  journal = {Appl. Phys. Lett.},
  year = {2004},
  volume = {84},
  pages = {2175-2177},
  number = {12},
  abstract = {We propose a method of controlling the growth mode in an epitaxial
        system. It takes advantage of differences in the vibrational frequencies
        of adatom–substrate bonds at terraces and steps. With a properly
        tuned infrared laser, one can selectively excite only the adatom–substrate
        bonds at steps and enhance the mobility of these adatoms, consequently
        promoting step-flow growth and reducing film roughness. The feasibility
        of this method is shown theoretically with respect to the prototype
        system of chemical vapor deposition growth of silicon.},
  doi = {10.1063/1.1687452},
  url = {http://dx.doi.org/10.1063/1.1687452}
}
</code></font></pre>
</blockquote>
<p>The following is added to the end of the file to organize it into the group &#8220;Seminar&#8221;.</p>
<blockquote><pre><font size="1"><code allow="none">
@comment{jabref-meta: groupstree:
0 AllEntriesGroup:;
1 ExplicitGroup:Second Year Report\;0\;Babinsky2002\;Bird1994\;Cole200
0\;Courant1967\;Faeth1995\;Hinds1999\;Hirt1971\;Kauppila2006\;Kebarle2
000\;March1995\;Nguyen2007\;Oran1998\;Seinfeld1997\;Venter2006\;Verste
eg1995\;Weller1998\;;
1 ExplicitGroup:Seminar\;0\;Chuang1981\;Hussla1985\;Jakob1991\;Liu2006
\;Redlich2006\;Wu2004\;Zhu1994\;Zimmerman1995\;;

...
</code></font></pre>
</blockquote>
<p>Articles can be in many groups and Jabref includes nice relational database-like tools to deal with searching, etc. So now I can keep one file with a complete database of my reference library, well organized, in my subversion repository, distributed to all my machines. Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/05/endnotebibtex-fun/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>THE 32-BIT BOUNDARY</title>
		<link>http://vdov.net/index.php/2007/04/the-32-bit-boundary/</link>
		<comments>http://vdov.net/index.php/2007/04/the-32-bit-boundary/#comments</comments>
		<pubDate>Fri, 13 Apr 2007 18:56:48 +0000</pubDate>
		<dc:creator>acosta</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://vdov.net/index.php/2007/04/610</guid>
		<description><![CDATA[Recently I&#8217;ve hit the limit of my simulation capacity on my machine at work. This is a 8-core (2 x quad-core) Xeon machine with 16 gigs of RAM. So it&#8217;s quite capable, albeit somewhat pathetic in the grand scheme of people doing multi-phase fluid dynamics (I need to be submitting jobs to a capable supercomputer). [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve hit the limit of my simulation capacity on my machine at work. This is a 8-core (2 x quad-core) Xeon machine with 16 gigs of RAM. So it&#8217;s quite capable, albeit somewhat pathetic in the grand scheme of people doing multi-phase fluid dynamics (I need to be submitting jobs to a capable supercomputer). As I moved to larger, more detailed systems, at some point they all just started failing. I was astonished to find out that I had indeed hit the limit of my memory addressing in a 32-bit environment. Not that this is all that incredible &#8230; I just had never hit this boundary. I have been getting around it lately by decomposing my domains into smaller pieces to be handled by each individual processor, but at some point I have to reconstruct all this data and analyze it effectively. So this morning I finally bit the bullet and reinstalled my Debian machine AMD64/EM64T. Then I recompiled a whole bunch of stuff and got the appropriate 64-bit applications, and viola, I&#8217;m in heaven. Now I can pull in and cache 11GB data sets in one analysis application like it&#8217;s nothing. I realize this is nothing too spectacular but it&#8217;s new to me. Brilliant. That is all.</p>
]]></content:encoded>
			<wfw:commentRss>http://vdov.net/index.php/2007/04/the-32-bit-boundary/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
