<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1560743966614280122</id><updated>2011-11-27T16:29:32.635-08:00</updated><category term='c#'/><category term='git'/><category term='clr'/><category term='c++/cli'/><category term='cm'/><category term='dvcs'/><category term='c++0x'/><category term='unicode'/><category term='hg'/><category term='mono'/><category term='dotnet'/><category term='c++'/><category term='mercurial'/><category term='vcs'/><category term='.NET'/><title type='text'>Codeshot</title><subtitle type='html'>Mostly C++, .net and other coding topics</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tristan</name><uri>http://www.blogger.com/profile/01446359502937021335</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-5308088052150748830</id><published>2011-07-16T07:33:00.000-07:00</published><updated>2011-07-16T07:33:10.043-07:00</updated><title type='text'>windows installer and wix article index - blog entries by robman</title><summary type='text'>  
    The considerations of an installer - the domains of study
  
  
    Basics about a "Component" in Windows Installer terms
  
  rules of thumb can be derived from this
  
    Historical commentary about the creation of Orca
  
  
    More detail about what a component is and how to use/defined them correctly
  
  rules of thumb can be derived from this
  
    What the MSI file is and what </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/5308088052150748830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=5308088052150748830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/5308088052150748830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/5308088052150748830'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2011/07/windows-installer-and-wix-article-index.html' title='windows installer and wix article index - blog entries by robman'/><author><name>Tristan</name><uri>http://www.blogger.com/profile/01446359502937021335</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-2757924732350175903</id><published>2011-01-09T15:10:00.001-08:00</published><updated>2011-01-09T15:45:45.425-08:00</updated><title type='text'>Weightloss Techniques Brainstorm</title><summary type='text'>This is a brainstorm of ideas for how to lose weight while maintaining a modern bachelor lifestyle.Please comment with other suggestionsEntries will have a heading with a basic description of a technique, then notes on why, a category, and ways of making the technique compete with foods that could otherwise interfere.Avoid fruit juice - fruit is for eating, water is for drinking.200ml (one small </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/2757924732350175903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=2757924732350175903' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/2757924732350175903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/2757924732350175903'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2011/01/weightloss-techniques-brainstorm.html' title='Weightloss Techniques Brainstorm'/><author><name>Tristan</name><uri>http://www.blogger.com/profile/01446359502937021335</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-6654451508620018595</id><published>2010-12-23T16:56:00.000-08:00</published><updated>2010-12-23T17:48:03.813-08:00</updated><title type='text'>'Twas twilight on Christmas, when all through the house...</title><summary type='text'>'Twas twilight on Christmas, when all through the housenot an adult head sober, "thanks famous &lt;hic&gt; grouse!"Mum's stockings were laddered beyond all repair,Her hopes for a jolly day turned to despair.The children had wrestled each other to shreds,While driven by sugar from what they were fed.When Aunt Mable shouts from her unclosing trap,"What's that on the telly! The same boring crap!"Gran was </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/6654451508620018595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=6654451508620018595' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/6654451508620018595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/6654451508620018595'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2010/12/twas-twilight-on-christmas-when-all.html' title='&apos;Twas twilight on Christmas, when all through the house...'/><author><name>Tristan</name><uri>http://www.blogger.com/profile/01446359502937021335</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-2379852746730585908</id><published>2009-12-15T17:46:00.001-08:00</published><updated>2009-12-15T18:07:17.108-08:00</updated><title type='text'>hello world for agda</title><summary type='text'>Agda is an interesting new language in the style of haskell but uses a different type system that is very interesting. If you don't know about it I'm not going to help you (it's too late at night) so do a search. This blog post is to gve those already interested an example "hello world" example in agda:module helloworld whereopen import IO.Primitive using (IO; putStrLn)open import Data.String </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/2379852746730585908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=2379852746730585908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/2379852746730585908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/2379852746730585908'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2009/12/agda-hello-worl.html' title='hello world for agda'/><author><name>bitsmith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-4336469613405101089</id><published>2009-02-09T18:50:00.000-08:00</published><updated>2009-02-10T18:30:33.832-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mercurial'/><category scheme='http://www.blogger.com/atom/ns#' term='cm'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='dvcs'/><category scheme='http://www.blogger.com/atom/ns#' term='hg'/><category scheme='http://www.blogger.com/atom/ns#' term='vcs'/><title type='text'>Mercurial vs Git</title><summary type='text'>I've had an epiphany and the epiphany has a name. Mercurial, a version control tool, has entered my life and I am, at last, complete. If you're a geek, and particularly if you are a sub-30 Open Source geek, you might have heard of the great version control war, if not fought in it yourself. Well I've taken up arms and I'm here to recruit you.I will spare you the detail of what a dvcs is and just </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/4336469613405101089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=4336469613405101089' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/4336469613405101089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/4336469613405101089'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2009/02/mercurial-vs-git.html' title='Mercurial vs Git'/><author><name>bitsmith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-972772240414173616</id><published>2008-09-08T17:09:00.000-07:00</published><updated>2008-09-08T17:37:36.286-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unicode'/><title type='text'>U+2060: Word Joiner</title><summary type='text'>Some scripts have places that are naturally a word boundary, but should not be for some particular instance. For that purpose Unicode provides the WJ (Word Joiner) special character at codepoint U+2060 which you insert wherever you don't want a word boundary:encoding formEndiannessS0S1S2S3UTF-32be0x000x000x200x60le0x600x200x000x00UTF-16be0x200x60le0x600x20UTF-80xE20x810xA0But you'd be surprised </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/972772240414173616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=972772240414173616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/972772240414173616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/972772240414173616'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2008/09/u2060-word-joiner.html' title='U+2060: Word Joiner'/><author><name>bitsmith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-1114851958439981354</id><published>2008-08-22T12:32:00.000-07:00</published><updated>2008-09-08T17:42:58.060-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>Padding</title><summary type='text'>A couple of C++ snippets for padding, one simple, one might be easier for a compiler to optimise though you'll have to do your own experiments to see which is faster for you in your program. Both of these are well defined for any value of (in, n) where n &gt; 0 and sensibly defined where n &amp;lt max_of_size_t + 1 - n. This will not work if either of the two types used are signed or non-integral.inline</summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/1114851958439981354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=1114851958439981354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/1114851958439981354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/1114851958439981354'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2008/08/padding.html' title='Padding'/><author><name>bitsmith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-3223628234842416390</id><published>2008-07-24T15:53:00.000-07:00</published><updated>2008-07-24T16:16:14.716-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++0x'/><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>boost::mpl vs. variadic templates</title><summary type='text'>Boost provides an interesting library, mpl, for metaprogramming at compile time to describe the construction of complex types from basic components. But C++0x, the next version of C++ due sometime in the next two years, has a scheduled feature called variadic templates.This feature allows you to define class templates like so:template&lt;typename... T&gt;class my_template {};my_template&lt;int, double, </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/3223628234842416390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=3223628234842416390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/3223628234842416390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/3223628234842416390'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2008/07/boostmpl-vs-variadic-templates.html' title='boost::mpl vs. variadic templates'/><author><name>bitsmith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-3684976084447320079</id><published>2008-07-24T15:12:00.000-07:00</published><updated>2008-08-22T13:01:23.010-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clr'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='dotnet'/><category scheme='http://www.blogger.com/atom/ns#' term='c++/cli'/><title type='text'>Managed-wrapped unmanaged wrapper</title><summary type='text'>A quick post to show a C++/CLI template for containing an unmanaged resource RAII instance variable in a managed object that uses the destruction pattern in my earlier post.template&lt;typename T&gt;ref class NWrap sealed { int disposed; T* const obj; !NWrap() { delete(obj); }public: explicit NWrap(T const&amp; src) : obj(new T(src)) {} ~NWrap() {  if (System.Threading.Interlocked.           </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/3684976084447320079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=3684976084447320079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/3684976084447320079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/3684976084447320079'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2008/07/managed-wrapped-unmanaged-wrapper.html' title='Managed-wrapped unmanaged wrapper'/><author><name>bitsmith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-177569841657558763</id><published>2008-07-23T14:17:00.000-07:00</published><updated>2008-07-24T16:26:24.094-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clr'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='dotnet'/><category scheme='http://www.blogger.com/atom/ns#' term='c++/cli'/><title type='text'>IDisposable in C++/CLI</title><summary type='text'>A formula for a disposable class in C++/CLIref class Base {  int disposed;  ManagedResource^ managed_resource;  ManagedResource auto_managed_resource;  void* unmanaged_resource;  !Base() { free(unmanaged_resource); }public:  ~Base() {    if (System.Threading.Interlocked.            CompareExchange(disposed, 1, 0))      return;    managed_resource.Dispose();    this-&gt;!Base();  }};This class </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/177569841657558763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=177569841657558763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/177569841657558763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/177569841657558763'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2008/07/idisposable-in-ccli.html' title='IDisposable in C++/CLI'/><author><name>bitsmith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1560743966614280122.post-1164830811375438241</id><published>2008-07-23T12:45:00.000-07:00</published><updated>2008-07-24T11:25:26.698-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clr'/><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='dotnet'/><category scheme='http://www.blogger.com/atom/ns#' term='c++/cli'/><title type='text'>Love, Love Dispose</title><summary type='text'>At the time of writing, Wikipedia lists 3 benefits of garbage collection, that of eliminating or substantially reducing the probability, or impact of:Dangling pointer bugs, which occur when a piece of memory is freed while there are still pointers to it, and one of those pointers is used.Double free bugs, which occur when the program attempts to free a region of memory that is already </summary><link rel='replies' type='application/atom+xml' href='http://codeshot.blogspot.com/feeds/1164830811375438241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1560743966614280122&amp;postID=1164830811375438241' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/1164830811375438241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1560743966614280122/posts/default/1164830811375438241'/><link rel='alternate' type='text/html' href='http://codeshot.blogspot.com/2008/07/love-love-dispose.html' title='Love, Love Dispose'/><author><name>bitsmith</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
