<?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>aiusepsi.co.uk &#187; plasma</title> <atom:link href="http://aiusepsi.co.uk/tag/plasma/feed/" rel="self" type="application/rss+xml" /><link>http://aiusepsi.co.uk</link> <description>Andy Simpson&#039;s personal blog.</description> <lastBuildDate>Mon, 26 Jul 2010 17:41:14 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0</generator> <item><title>Distributed Version Control: A Review</title><link>http://aiusepsi.co.uk/2009/distributed-version-control-a-review/</link> <comments>http://aiusepsi.co.uk/2009/distributed-version-control-a-review/#comments</comments> <pubDate>Sun, 09 Aug 2009 14:04:53 +0000</pubDate> <dc:creator>aiusepsi</dc:creator> <category><![CDATA[Information]]></category> <category><![CDATA[bond]]></category> <category><![CDATA[dvcs]]></category> <category><![CDATA[git]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[mercurial]]></category> <category><![CDATA[plasma]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[review]]></category> <category><![CDATA[tech]]></category><guid isPermaLink="false">http://aiusepsi.co.uk/?p=361</guid> <description><![CDATA[This post is all about stuff that&#8217;s only interesting if you&#8217;re into programming. Read at your own risk! Next year as part of my degree I&#8217;m working with a partner to create some software that&#8217;ll simulate cold, dense plasmas (the physics kind, not the blood-is-made-from kind) and the thought of working on this by emailing [...]]]></description> <content:encoded><![CDATA[<p>This post is all about stuff that&#8217;s only interesting if you&#8217;re into programming. Read at your own risk!</p><p>Next year as part of my degree I&#8217;m working with <a href="http://joshjgordon.blogspot.com/">a partner</a> to create some software that&#8217;ll simulate cold, dense plasmas (the physics kind, not the blood-is-made-from kind) and the thought of working on this by emailing files to each other and the like just seems utterly beyond tedious, so I&#8217;ve started investigating various types of source control, which will make it a lot easier to work together and keep in sync without getting rapidly into a horrible mess.</p><p><span id="more-361"></span>I quickly ruled out CVS and Subversion, because they&#8217;re big, clunky, and require a central server, which we don&#8217;t have.</p><p>This left the newer distributed source control systems, such as Git, Mercurial and Bazaar. Choosing between these three is stupendously hard, as they all have a pretty robust feature set, and they&#8217;re all used by major projects so you can be sure they&#8217;ll be supported. Git is used by the Linux kernel and Ruby, Mercurial by Mozilla and Python, and Bazaar by Ubuntu.</p><p>Honestly, I haven&#8217;t looked much at Bazaar. I can&#8217;t even tell you why, but it does rather seem to be the runt of the litter. Nobody much talks about it, which immediately raises concerns.</p><p>So on to Git and Mercurial, which I really have had to pick between. One comparison (courtesy of <a href="http://twitter.com/mbell88">Matt</a>) is that <a href="http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/">Mercurial is Bond and Git is MacGyver</a>.</p><p>I can see where the guy is coming from.  Git was born from the fires of the Linux kernel project, and that legacy is enduringly evident. It seems mostly to be chunks of C held together with strings and tape and shell script, but somehow still manages to be fast as all hell. If you&#8217;re comfortable delving into the bowls of a codebase head-first, man pages open in one terminal window, furiously typing out shell scripts of ridiculous complexity in another, you&#8217;ll be right at home with Git. It&#8217;s like using Linux itself; powerful obtuseness is more-or-less seen as virtue. Sure, it&#8217;s hard to figure out, with a whole ton of concepts you need to absorb, but you&#8217;ll be a goddamn ninja once you have. A very notable feature is that moving chunks of code from file to file is tracked and version history preserved appropriately automatically. A code move (or file rename) is almost a no-op.</p><p>Because it&#8217;s tacked together with shell scripts, support on Windows is pretty much pants. There&#8217;s some promising work which provides a BASH prompt as well as GUI tools, but it&#8217;s still not great.</p><p>Mercurial, on the other hand, is written in Python, so it&#8217;s generally a lot cleaner. If you want to extend it, you write the extension in Python rather than a hacky shell script, which seems like a plus to me. The core functionality (minus the tracking renames and moves stuff) is completely comparable to Git. One excellent feature is that Mercurial (Hg for short) supports pushing/pulling/cloning code over HTTP/S, so no tedious mucking about with SSH is required. There&#8217;s even a very useful command (hg serve) which opens a tiny web server instance which makes it easy to share code over a local trusted netw0rk on an impromptu basis.</p><p>Support on Windows is excellent; you run hg.exe straight from a normal windows cmd.exe prompt, no need for BASH like Git. There is also a very complete set of GUI Explorer extensions in TortoiseHg; it feels very mature. I believe there&#8217;s also a Visual Studio plugin (which there might be for Git, too).</p><p>There does exist a project (<a href="http://hg-git.github.com/">Hg-Git</a>) which forms a bridge between the two which is getting more mature all the time, so your final decision isn&#8217;t entirely set in stone.</p><p>I realise I&#8217;m glossing, because this is a fairly complicated decision on which it pays to probably do a lot of research. There are things I haven&#8217;t mentioned, like making named branches is cheap and easy in Git, but a pain in Mercurial, which recommends you do clones of the repository instead. On the other hand, this is balanced by Mercurial being a lot less confusing when pulling in code from someone else, their changes just show up as an implicit local branch, whereas Git does something odd with remote named branches appearing in your repo.</p><p>All in all, this would be my recommendation:</p><ul><li>If using Windows is a requirement, use Mercurial.</li><li>If you want huge amounts of power and flexibility, use Git.</li><li>If you just want to get on with writing your code, use Mercurial.</li><li>If you want to collaborate in a small team, use Mercurial.</li></ul><p>Otherwise, I&#8217;m going to be inspecific, because I really don&#8217;t know which one scales up to huge projects better. Apparently, Mercurial has a great extension to do with Patch Queues which helps give it some of the flexibility with patching that Git has, without burdening the core with excessive complexity. I think that may have been wise.</p> ]]></content:encoded> <wfw:commentRss>http://aiusepsi.co.uk/2009/distributed-version-control-a-review/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Weariness</title><link>http://aiusepsi.co.uk/2009/weariness/</link> <comments>http://aiusepsi.co.uk/2009/weariness/#comments</comments> <pubDate>Tue, 26 May 2009 16:05:17 +0000</pubDate> <dc:creator>aiusepsi</dc:creator> <category><![CDATA[Information]]></category> <category><![CDATA[Exams]]></category> <category><![CDATA[misery]]></category> <category><![CDATA[Physics]]></category> <category><![CDATA[plasma]]></category> <category><![CDATA[revision]]></category><guid isPermaLink="false">http://aiusepsi.co.uk/?p=323</guid> <description><![CDATA[So I&#8217;m roughly half-way through the exam season, five down, four to go. Some of them have gone well, others not so well, others were going well until I found myself running out of time, started panicing and ignored the obvious answer&#8230; Anyways, all in all, it&#8217;s been pretty miserable so far, and it really doesn&#8217;t [...]]]></description> <content:encoded><![CDATA[<p>So I&#8217;m roughly half-way through the exam season, five down, four to go.</p><p>Some of them have gone well, others not so well, others were going well until I found myself running out of time, started panicing and ignored the obvious answer&#8230;</p><p>Anyways, all in all, it&#8217;s been pretty miserable so far, and it really doesn&#8217;t do wonders for morale. I really just want this to be over, because this whole experience is just making me feel like crap, and I&#8217;m pretty damned sick of it.</p><p>Right now, I&#8217;m supposed to be revising Plasma Physics, because the exam&#8217;s tomorrow and for the life of me I have no idea what he&#8217;s doing using the Bennett relation to derive the Pease-Braginskii current, and I really need this exam to go well. For a whole bunch of reasons.</p><p>At least there&#8217;s only 4 left! Plasma I think is generally going to go well, then on Friday there&#8217;s Comprehensive II, the sequel to the exam that made us all want to commit suicide the first time around, Dynamical Systems &amp; Chaos on Tuesday, which could be pretty unpleasant, and then Foundations of Quantum Mechanics on Thursday which I think will be pretty good too, so should form a pleasant wind-down. Hopefully.</p><p>I&#8217;m really not looking forward to results day.</p><p>Anyways, back to the physics of the Z-pinch&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://aiusepsi.co.uk/2009/weariness/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>The Hard Slog Ahead</title><link>http://aiusepsi.co.uk/2009/the-hard-slog-ahead/</link> <comments>http://aiusepsi.co.uk/2009/the-hard-slog-ahead/#comments</comments> <pubDate>Wed, 01 Apr 2009 11:30:00 +0000</pubDate> <dc:creator>aiusepsi</dc:creator> <category><![CDATA[Information]]></category> <category><![CDATA[Fairtrade]]></category> <category><![CDATA[Fencing]]></category> <category><![CDATA[MSci Project]]></category> <category><![CDATA[Occurrences]]></category> <category><![CDATA[Physics]]></category> <category><![CDATA[plasma]]></category> <category><![CDATA[revision]]></category> <category><![CDATA[we will rock you]]></category><guid isPermaLink="false">http://aiusepsi.co.uk/2009/the-hard-slog-ahead/</guid> <description><![CDATA[Once again I’ve managed to forget that this blog isn’t just to write articles about stuff, it’s also just to write vaguely long-form about where I’m at, and where I’ve been. So, here goes. Since we last met, I attended the Fairtrade Society AGM, at which I failed to get elected as treasurer. I still [...]]]></description> <content:encoded><![CDATA[<p>Once again I’ve managed to forget that this blog isn’t just to write articles about stuff, it’s also just to write vaguely long-form about where I’m at, and where I’ve been. So, here goes.</p><p>Since we last met, I attended the Fairtrade Society AGM, at which I failed to get elected as treasurer. I still believe in the cause, though, so I’m actually changing my buying decisions where there is a Fairtrade alternative. Which is actually kinda peculiar! There was also the Fencing annual dinner, proceeded by the shaving of the president, which was pretty funny. Some people weren’t too gentle with the clippers.</p><p><a href="http://aiusepsi.co.uk/wp-content/uploads/img-0113.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Namih gets shaved" border="0" alt="Namih gets shaved" src="http://aiusepsi.co.uk/wp-content/uploads/img-0113-thumb.jpg" width="180" height="240" /></a></p><p>The deadline for MSci project bids rolled in, and with any luck my project will be on using a tree code to simulate plasmas in which collisional effects between particles can’t be neglected (e.g. in a very high density plasma) and provides an O(N log N) computation time as opposed to O(N^2) for naive particle-particle interactions. If you didn’t understand what I just said, never mind.</p><p>Coming up, my exams start on May 18th, so I basically have to start hitting the revision really hard and cram a whole bunch of knowledge into my head over the next few weeks. It’s going to be quite a ride. Next term there aren’t really any lectures apart from a single revision lecture for each course, so it’s a straight run-up to the exams, and then we’re pretty much free after that. We have to start preparing for a literature review for the MSci project, which I assume translates as “Raid all the books from the library that are relevant to your project, and then read them”.</p><p>My family’s going to come up for a day, and we’re going to see <em>We Will Rock You</em>, so that should be an interesting diversion. I should also be Fencing every Wednesday, so that should keep me active.</p><p>Then, once that kerfuffle is all over, there’s the Summer Ball, which should be an awesome wind-down to the year. I honestly can’t believe we’re already at this point again. The rapidity of it all is kinda scary, as are some of the implications of this year being over, like a bunch of my friends finishing their degrees. It’s gonna be weird.</p> ]]></content:encoded> <wfw:commentRss>http://aiusepsi.co.uk/2009/the-hard-slog-ahead/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 9/16 queries in 0.041 seconds using disk

Served from: aiusepsi.co.uk @ 2010-07-31 09:19:38 -->