<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Tim Robinson - Latest Comments</title><link>http://timrobinson.disqus.com/</link><description></description><atom:link href="https://timrobinson.disqus.com/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Fri, 20 Nov 2015 00:59:43 -0000</lastBuildDate><item><title>Re: Moving a Perforce project to GitHub</title><link>http://www.partario.com/blog/2009/06/moving-a-perforce-project-to-github.html#comment-2369528643</link><description>&lt;p&gt;I have been using Git-P4 for a while now and I really like it except for certain use cases that are particularly slow due to the size of my repo. In any case, I would like to share a set of bash scripts that help me move back and forth Git&amp;lt;-&amp;gt;P4 and collaborate with other people that is still in the dark ;) They are not magical but they have been very handy in my daily work, I hope someone else finds them useful: &lt;a href="https://github.com/pgpbpadilla/git-p4-helpers" rel="nofollow noopener" target="_blank" title="https://github.com/pgpbpadilla/git-p4-helpers"&gt;https://github.com/pgpbpadi...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Pablo Padilla</dc:creator><pubDate>Fri, 20 Nov 2015 00:59:43 -0000</pubDate></item><item><title>Re: Inline IL assembly</title><link>http://www.partario.com/blog/2009/04/inline-il-assembly.html#comment-1015295461</link><description>&lt;p&gt;have you considered supporting an inline IL syntax more like this:&lt;/p&gt;&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/jmstall/archive/2005/02/21/377806.aspx" rel="nofollow noopener" target="_blank" title="http://blogs.msdn.com/b/jmstall/archive/2005/02/21/377806.aspx"&gt;http://blogs.msdn.com/b/jms...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jeskeca</dc:creator><pubDate>Fri, 23 Aug 2013 15:56:53 -0000</pubDate></item><item><title>Re: A render farm in Haskell</title><link>http://www.partario.com/blog/2010/03/a-render-farm-in-haskell.html#comment-178084056</link><description>&lt;p&gt;Terry: the author sounds like somebody who tried Haskell and OCaml, got bored, and gave up.&lt;/p&gt;&lt;p&gt;I agree with the reaction to this article on Hacker News: &lt;a href="http://news.ycombinator.com/item?id=1471463" rel="nofollow noopener" target="_blank" title="http://news.ycombinator.com/item?id=1471463"&gt;http://news.ycombinator.com/item?id=1471463&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Robinson</dc:creator><pubDate>Wed, 30 Jun 2010 05:33:59 -0000</pubDate></item><item><title>Re: A render farm in Haskell</title><link>http://www.partario.com/blog/2010/03/a-render-farm-in-haskell.html#comment-178084054</link><description>&lt;p&gt;he's not wrong... &lt;a href="http://www.benrady.com/2010/06/a-bit-of-heresy-functional-languages-are-overrated.html" rel="nofollow noopener" target="_blank" title="http://www.benrady.com/2010/06/a-bit-of-heresy-functional-languages-are-overrated.html"&gt;http://www.benrady.com/2010/06/a-bit-of-heresy-functional-languages-are-overrated.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">terry</dc:creator><pubDate>Wed, 30 Jun 2010 03:48:54 -0000</pubDate></item><item><title>Re: New NPackage binaries</title><link>http://www.partario.com/blog/2010/05/new-npackage-binaries.html#comment-178084073</link><description>&lt;p&gt;&lt;a href="http://www.xkcd.com/754/" rel="nofollow noopener" target="_blank" title="http://www.xkcd.com/754/"&gt;http://www.xkcd.com/754/&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">terry</dc:creator><pubDate>Wed, 16 Jun 2010 12:14:24 -0000</pubDate></item><item><title>Re: This week on NPackage</title><link>http://www.partario.com/blog/2010/05/this-week-on-npackage.html#comment-178084062</link><description>&lt;p&gt;Daniel, I'm looking to build something much more lightweight than Artifactory.&lt;/p&gt;&lt;p&gt;I want the barrier for adoption of NPackage to be as low as possible:&lt;/p&gt;&lt;p&gt; * &lt;b&gt;For application developers,&lt;/b&gt; I want to make it as straightforward as possible to pull in third-party libraries. This means having a robust client app and a repository that's pre-populated with most of the libraries you're likely to need.&lt;/p&gt;&lt;p&gt; * Likewise &lt;b&gt;for application developers,&lt;/b&gt; I want to make it as straightforward as possible to share code. This means putting as few constraints as possible on what you submit; having a repository that's smart enough to figure out metadata based on the structure of your library; and being able to easily run your own mini-repository for testing.&lt;/p&gt;&lt;p&gt;I guess I see NPackage as being the DVCS of package management systems, if you compare systems like Artifactory to centralised source control.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Robinson</dc:creator><pubDate>Sun, 16 May 2010 14:24:40 -0000</pubDate></item><item><title>Re: This week on NPackage</title><link>http://www.partario.com/blog/2010/05/this-week-on-npackage.html#comment-178084060</link><description>&lt;p&gt;Hey Tim, Just came across this product called Artifactory (&lt;a href="http://www.jfrog.org/)." rel="nofollow noopener" target="_blank" title="http://www.jfrog.org/)."&gt;http://www.jfrog.org/).&lt;/a&gt; I haven't looked at it too closely but the screencast makes it sound quite similar to NPackage.&lt;/p&gt;&lt;p&gt;Are you familiar with Artifactory? Can you compare and contrast Artifactory vs. NPackage?&lt;/p&gt;&lt;p&gt;Cheers,&lt;br&gt;Daniel&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Fortunov</dc:creator><pubDate>Sun, 16 May 2010 04:45:18 -0000</pubDate></item><item><title>Re: Can I have a .NET package manager?</title><link>http://www.partario.com/blog/2010/04/can-i-have-a-net-package-manager.html#comment-178084082</link><description>&lt;p&gt;hell yes!  we've got various vbscripts to do this.  shouldn't it be 'easy' in say MSI (if too heavyweight), or powershell.  additional points if it can handle multi-level caching, i.e. cross-region or internet code is cached on a team share as well as locally.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">terry</dc:creator><pubDate>Mon, 19 Apr 2010 03:45:03 -0000</pubDate></item><item><title>Re: Obscure IEnumerator facts</title><link>http://www.partario.com/blog/2009/07/obscure-ienumerator-facts.html#comment-178084081</link><description>&lt;p&gt;Shuggy, this is truly nasty - it took me a little while to spot the problem. I take it the bug is due to the fact that what look like fields on an anonymous type are in fact properties, and a fresh clone of the List&amp;lt;string&amp;gt;.Enumerator is created each time it's accessed.&lt;/p&gt;&lt;p&gt;As Jon Skeet points out on the site, mutable structs are evil.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Robinson</dc:creator><pubDate>Tue, 08 Dec 2009 11:26:14 -0000</pubDate></item><item><title>Re: Obscure IEnumerator facts</title><link>http://www.partario.com/blog/2009/07/obscure-ienumerator-facts.html#comment-178084080</link><description>&lt;p&gt;old one but worth noting that: &lt;br&gt;1. this only works if the compiler knows the exact type of the collection (if it's via an IEnumerable variable for example boxing still occurs.&lt;/p&gt;&lt;p&gt;2. it can expose your program to a very subtle bug involving copies of the enumerator. This is very rare (a good thing since List does it!) but is worth knowing about:&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.eggheadcafe.com/software/aspnet/31702392/c-compiler-challenge--s.aspx" rel="nofollow noopener" target="_blank" title="http://www.eggheadcafe.com/software/aspnet/31702392/c-compiler-challenge--s.aspx"&gt;http://www.eggheadcafe.com/software/aspnet/31702392/c-compiler-challenge--s.aspx&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ShuggyCoUk</dc:creator><pubDate>Mon, 07 Dec 2009 17:59:47 -0000</pubDate></item><item><title>Re: A spelling corrector in Haskell</title><link>http://www.partario.com/blog/2009/10/a-spelling-corrector-in-haskell.html#comment-178084072</link><description>&lt;p&gt;Tim, in lieu of a trackback, note that your blog post is enjoying &lt;a href="http://www.reddit.com/r/haskell/comments/9zowr/a_spelling_corrector_in_haskell/" rel="nofollow noopener" target="_blank" title="http://www.reddit.com/r/haskell/comments/9zowr/a_spelling_corrector_in_haskell/"&gt;popularity&lt;/a&gt; on the&lt;br&gt;&lt;a href="http://www.reddit.com/r/haskell/" rel="nofollow noopener" target="_blank" title="http://www.reddit.com/r/haskell/"&gt;Haskell reddit&lt;/a&gt;.&lt;br&gt;You might also note another &lt;a href="http://www.serpentine.com/blog/2007/05/14/norvigs-spell-checker-and-idiomatic-haskell/" rel="nofollow noopener" target="_blank" title="http://www.serpentine.com/blog/2007/05/14/norvigs-spell-checker-and-idiomatic-haskell/"&gt;similar post&lt;/a&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Yitz Gale</dc:creator><pubDate>Sat, 31 Oct 2009 20:21:22 -0000</pubDate></item><item><title>Re: A spelling corrector in Haskell</title><link>http://www.partario.com/blog/2009/10/a-spelling-corrector-in-haskell.html#comment-178084068</link><description>&lt;p&gt;Thanks Cale - the &amp;lt;$&amp;gt; operator cleans up that function nicely. (The comments box appears to want HTML markup.)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Robinson</dc:creator><pubDate>Sat, 31 Oct 2009 18:46:38 -0000</pubDate></item><item><title>Re: A spelling corrector in Haskell</title><link>http://www.partario.com/blog/2009/10/a-spelling-corrector-in-haskell.html#comment-178084067</link><description>&lt;p&gt;Thanks for the suggestions Twan -- in particular, the pattern matching approach makes the list comprehensions much more concise. And the train function seemed to be more complicated than it needed to be.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Robinson</dc:creator><pubDate>Sat, 31 Oct 2009 18:36:37 -0000</pubDate></item><item><title>Re: A spelling corrector in Haskell</title><link>http://www.partario.com/blog/2009/10/a-spelling-corrector-in-haskell.html#comment-178084066</link><description>&lt;p&gt;x &amp;gt;&amp;gt;= return . f = fmap f x&lt;/p&gt;&lt;p&gt;Typically when mixing compositions and bind like this, I find =&amp;lt;&amp;lt; to be a little nicer to read:&lt;/p&gt;&lt;p&gt;readFile "big.txt" &amp;gt;&amp;gt;= return . train . lowerWords&lt;/p&gt;&lt;p&gt;&amp;gt;&lt;/p&gt;&lt;p&gt;return . train . lowerWords =&amp;lt;&amp;lt; readFile "big.txt"&lt;/p&gt;&lt;p&gt;fmap (train . lowerWords) (readFile "big.txt")&lt;/p&gt;&lt;p&gt;Or, importing Control.Applicative,&lt;/p&gt;&lt;p&gt;train . lowerWords &amp;lt;$&amp;gt; readFile "big.txt"&lt;/p&gt;&lt;p&gt;By the way, your comment form chews up &amp;lt; symbols. I had to manually replace each one with &amp;lt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cale Gibbard</dc:creator><pubDate>Sat, 31 Oct 2009 18:30:13 -0000</pubDate></item><item><title>Re: A spelling corrector in Haskell</title><link>http://www.partario.com/blog/2009/10/a-spelling-corrector-in-haskell.html#comment-178084063</link><description>&lt;p&gt;Here are some ways to improve your program&lt;/p&gt;&lt;p&gt;Use Map.fromListWith instead of an explicit fold&lt;/p&gt;&lt;pre&gt;    &amp;gt; train words = Map.fromListWith (+) (zip words (repeat 1))&lt;/pre&gt;&lt;p&gt;Use  (= fmap), from Control.Applicative, instead of (&amp;gt;&amp;gt;=) and return:&lt;/p&gt;&lt;pre&gt;    &amp;gt; readNWORDS = train . lowerWords &amp;lt;$&amp;gt; readFile "big.txt"&lt;/pre&gt;&lt;p&gt;Use `splitAt` instead of both `drop` and `tail`.&lt;/p&gt;&lt;pre&gt;    s = [ splitAt i word | i &amp;lt;- [ 0 .. length word ] ]&lt;/pre&gt;&lt;p&gt;Or better yet:&lt;/p&gt;&lt;pre&gt;    s = zip (inits words) (tails words)&lt;/pre&gt;&lt;p&gt;When pattern matching in list comprehension, items that don't match are just ignored, so you can write:&lt;/p&gt;&lt;pre&gt;    &amp;gt; deletes = [ a ++ b | (a,_:b) &amp;lt;- s ]&lt;br&gt;    &amp;gt; transposes = [ a ++ y : x : b | (a,x:y:b) &amp;lt;- s ]&lt;br&gt;    &amp;gt; replaces = [ a ++ c : b | (a,_:b) - s, c &amp;lt;- alphabet ]&lt;/pre&gt;&lt;p&gt;Instead of this lambda (\w -&amp;gt; w `Map.lookup` nwords) you can use an operator section, (`Map.lookup` nwords).&lt;/p&gt;&lt;p&gt;Instead of your prompt function you can use the built in interact function&lt;/p&gt;&lt;pre&gt;    prompt nwords = interact (unlines . map check . lines)&lt;br&gt;      where check = correct nwords&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Twan van Laarhoven</dc:creator><pubDate>Sat, 31 Oct 2009 15:35:20 -0000</pubDate></item><item><title>Re: Vague class names: "Manager" and "Helper"</title><link>http://www.partario.com/blog/2009/06/vague-class-names-manager-and-helper.html#comment-178084059</link><description>&lt;p&gt;There are cases where something exists as a concept but not as a type.&lt;/p&gt;&lt;p&gt;For instance, I have a GUI where each view can be any kind of object, and I don't have a "View" type that they need to inherit from. In this case I need to manage the views, so I have a ViewManager, but the views themselves are of type System.Object.&lt;/p&gt;&lt;p&gt;Also, things are usually called "helpers" not because they help the types, but because they help the user with those types. In that sense the name makes perfect sense; they encapsulate tasks common to the type but not intrinsic to their functionality.&lt;/p&gt;&lt;p&gt;So no, I don't agree with this do-not.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">rei</dc:creator><pubDate>Sat, 03 Oct 2009 01:20:31 -0000</pubDate></item><item><title>Re: Lisp compiler in F#: Parsing with fslex and fsyacc</title><link>http://www.partario.com/blog/2009/05/lisp-compiler-in-f-parsing-with-fslex-and-fsyacc.html#comment-178084049</link><description>&lt;p&gt;Thanks for this :-) great to have step-by-step instructions, saves a lot of time (esp. with fslex which takes *forever* to run for non-trivial grammars).&lt;/p&gt;&lt;p&gt;Cheers, Lorenzo&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Lorenzo Stoakes</dc:creator><pubDate>Thu, 20 Aug 2009 10:14:09 -0000</pubDate></item><item><title>Re: Lisp compiler in F#: What's next?</title><link>http://www.partario.com/blog/2009/06/lisp-compiler-in-f-whats-next.html#comment-178084047</link><description>&lt;p&gt;Great article.  Looking forward to seeing more!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">jonnii</dc:creator><pubDate>Tue, 09 Jun 2009 22:01:27 -0000</pubDate></item></channel></rss>