<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Disqus - Latest Comments for tonymorris</title><link>http://disqus.com/by/tonymorris/</link><description></description><atom:link href="http://disqus.com/tonymorris/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Tue, 07 Jan 2020 04:09:32 -0000</lastBuildDate><item><title>Re: Diamond Crash casts Doubt on Incipient Spin Training</title><link>http://www.australianflying.com.au/article/75D8D8F0-7CF8-11E9-9BC9525A1F5846F7#comment-4748052066</link><description>&lt;p&gt;FYI, this incident was not near Toowoomba. It was near Jimboomba, south of Archerfield.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Tue, 07 Jan 2020 04:09:32 -0000</pubDate></item><item><title>Re: What Kind of Things are Easy in Haskell and Hard in Scala and Vice-versa</title><link>http://blog.tmorris.net/posts/what-kind-of-things-are-easy-in-haskell-and-hard-in-scala-and-vice-versa/index.html#comment-4588391508</link><description>&lt;p&gt;I agree, today. I didn't at the time of this writing.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Thu, 22 Aug 2019 20:29:36 -0000</pubDate></item><item><title>Re: Flying Lesson # 46 – 6th Navigation Flight</title><link>http://studentpilotjourney.com.au/6th-navigation-flight/#comment-2975920067</link><description>&lt;p&gt;Nice mate. I've just completed RPL(A) at YBAF. Reading up on PPL now.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Sun, 30 Oct 2016 08:12:37 -0000</pubDate></item><item><title>Re: 2014 KTM 690 Enduro R to Supermoto</title><link>http://blog.tmorris.net/posts/ktm690-enduro-smc/index.html#comment-2687033931</link><description>&lt;p&gt;No mate, mine worked out straight away in that regard. Do you have any photos or video?&lt;/p&gt;&lt;p&gt;My fitment problem ended up being because I;d been sent the wrong disc rotor (990). Only took a year to figure that out!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Fri, 20 May 2016 17:11:22 -0000</pubDate></item><item><title>Re: Why are there no big applications written using functional languages?</title><link>http://blog.tmorris.net/posts/why-are-there-no-big-applications-written-using-functional-languages/index.html#comment-2685274669</link><description>&lt;p&gt;Thank you for your insightful input.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Thu, 19 May 2016 20:36:55 -0000</pubDate></item><item><title>Re: Why are there no big applications written using functional languages?</title><link>http://blog.tmorris.net/posts/why-are-there-no-big-applications-written-using-functional-languages/index.html#comment-2683548535</link><description>&lt;p&gt;80 years ago is when Functional Programming was discovered. I overlooked the "man years" in your question.&lt;/p&gt;&lt;p&gt;I too, have worked on these Java applications. For example, the JDK and J2EE implementations from IBM. They are typically highly inefficient. It is entirely tractable to achieve what hundreds of these developers do in 30 years, in an hour, with appropriate tools. This is why such an inefficiency may not be so apparent.&lt;/p&gt;&lt;p&gt;No, Haskell is not a Functional Programming language. Nothing is, nothing can be.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Thu, 19 May 2016 03:55:29 -0000</pubDate></item><item><title>Re: Why are there no big applications written using functional languages?</title><link>http://blog.tmorris.net/posts/why-are-there-no-big-applications-written-using-functional-languages/index.html#comment-2683352971</link><description>&lt;p&gt;Because of two reasons. Functional Programming was only discovered 80 years ago. There is no such thing as a Functional [Programming] Language.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Wed, 18 May 2016 23:34:54 -0000</pubDate></item><item><title>Re: IO Monad Considered Harmful</title><link>https://blog.jle.im/entry/io-monad-considered-harmful.html#comment-1812056777</link><description>&lt;p&gt;I could almost agree. The problem is, this imprecise or ambiguous terminology too often leads to a misunderstanding that is difficult to back out of.&lt;/p&gt;&lt;p&gt;Once we have a decent framework of terminology, where imprecision is perfectly fine and without risk, then by all means! I do this in private discourse where I can be sure that such mistakes won't occur, but in the public arena, whee all bets are off, I get a bit apprehensive.&lt;/p&gt;&lt;p&gt;Your post makes the point where we use "the IO monad" to refer to "nothing at all to do with a monad" -- how often do you see this terminology used, where there is a misunderstanding of this very fact? I see it a lot.&lt;/p&gt;&lt;p&gt;Anyway, the overall point is excellent.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Thu, 22 Jan 2015 19:32:03 -0000</pubDate></item><item><title>Re: IO Monad Considered Harmful</title><link>https://blog.jle.im/entry/io-monad-considered-harmful.html#comment-1812046498</link><description>&lt;p&gt;I do, bat an eye, secretly, inside. Usually because I predict a impending mistake in understanding as a consequence.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Thu, 22 Jan 2015 19:23:47 -0000</pubDate></item><item><title>Re: IO Monad Considered Harmful</title><link>https://blog.jle.im/entry/io-monad-considered-harmful.html#comment-1812029912</link><description>&lt;p&gt;The IO *type constructor*. IO is not a type.&lt;/p&gt;&lt;p&gt;Excellent points though.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Thu, 22 Jan 2015 19:09:54 -0000</pubDate></item><item><title>Re: 90 Days of Scala</title><link>http://movio.co/blog/90-days-scala/#comment-1783394937</link><description>&lt;p&gt;But none of what you listed *are* literal side-effects. They are, in fact, IO effects. Imagine we were talking about [] effects or (State s) effects instead; would we call those side-effects? No, we wouldn't and for exactly the same reason. Side-effects are in no way necessary. There is "modification of global state" that is any different to any other modification of state in other contexts. Does the (:) function modify the global state of the list? No, it doesn't and for the same reason.&lt;/p&gt;&lt;p&gt;Clearly you are learning FP and trying to make an effort and I don't want to discourage that. However, this exact mistake places a huge barrier in front of people wishing to learn and that is possibly the case for you.&lt;/p&gt;&lt;p&gt;No, Scala doesn't force you to do this, but you know what? Many people, who understand FP really well, determined that this was * terrible thing* and wrote the library support for it. That way, we don't have to yield to Scala's mistake in this regard. The result? Enormous advantage.&lt;/p&gt;&lt;p&gt;There is a lot more to this story than the line which has been drawn in the sand in this case. Also, it is way easier to figure these things out on IRC if you are keen.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Fri, 09 Jan 2015 18:00:25 -0000</pubDate></item><item><title>Re: 90 Days of Scala</title><link>http://movio.co/blog/90-days-scala/#comment-1779945770</link><description>&lt;p&gt;None of what you just said is true. Join IRC (chat) and I'll help you understand functional programming.&lt;/p&gt;&lt;p&gt;After that, you can look at your comment and have a giggle :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Thu, 08 Jan 2015 17:42:39 -0000</pubDate></item><item><title>Re: 90 Days of Scala</title><link>http://movio.co/blog/90-days-scala/#comment-1775503658</link><description>&lt;p&gt;Some of this has been debunked in the 1940s. It's weird how it keeps popping up.&lt;/p&gt;&lt;p&gt;Moreover, the Scala-specific claims have also been debunked, using the vocabulary of Scala. Consider the claim, "Side-effects as a necessary evil", which is just patently false.&lt;/p&gt;&lt;p&gt;Not only is it false in general, but it has been debunked using Scala itself, repeatedly. It is very well-known that I can write *every possible Scala program without ever using a side-effect*. Runar Bjarnason has outlined this the free monad, the Scalaz project has several implementations of libraries that demonstrate it (e.g. ST, IO), the NICTA rng project was built specifically to debunk this claim (by implementing RNG without side-effects) and I am willing to now bet that you are unable to give me any Scala program that I cannot write without side-effects.&lt;/p&gt;&lt;p&gt;This is not a point of pedantry, but of pedagogy. These claims draw a line in the sand with respect to limits of acquisition of knowledge. It says, "this fallacious step is as far as I am willing to go."&lt;/p&gt;&lt;p&gt;Like most people, I bet you are capable of better.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Tue, 06 Jan 2015 18:05:29 -0000</pubDate></item><item><title>Re: #golang: The next great teaching language - David Huie</title><link>http://roseland.io/blog/2014/05/10/number-golang-the-next-great-teaching-language/#comment-1380585646</link><description>&lt;p&gt;Dear Atanas,&lt;br&gt;In fact, based on your comment, I can tell that you wear&lt;br&gt; a clown suit to bed each night. I hope the meaningful of this is &lt;br&gt;apparent.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Mon, 12 May 2014 00:58:46 -0000</pubDate></item><item><title>Re: #golang: The next great teaching language - David Huie</title><link>http://roseland.io/blog/2014/05/10/number-golang-the-next-great-teaching-language/#comment-1380233885</link><description>&lt;p&gt;Hello David,&lt;br&gt;Thank you for your response. Please understand that I have used Go, I understand it well and I teach programming too.&lt;/p&gt;&lt;p&gt;I do not intend to pick on you specifically, but I lament this ongoing position, where smart people like yourself have not looked beyond the trash. Go is most definitely not a good beginner language. It teaches beginners that bad ideas are acceptable under the disguise of "compromise."&lt;/p&gt;&lt;p&gt;You can do a lot better. You would be a better person for it. Notice all the complaining about my lament. These are the dunces. You are not one of those. I invite you to do better and I am committed to helping you achieve that. So are many others.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Sun, 11 May 2014 17:10:16 -0000</pubDate></item><item><title>Re: #golang: The next great teaching language - David Huie</title><link>http://roseland.io/blog/2014/05/10/number-golang-the-next-great-teaching-language/#comment-1379154769</link><description>&lt;p&gt;Are you kidding? Seriously, you take this Golang horseshit seriously?&lt;/p&gt;&lt;p&gt;I am just asking because I am sick to death of this constant, sluggish, amateur reinvention of *what we already know to be ridiculously bad ideas*. Go does not have static typing. It has a *broken type system*. Anyone who achieved the mighty level of page 3 of Types and Programming Languages knows this. Honestly, why not aspire to become one of these people? Three pages, that's all it takes. You simply have to be *not a complete dunce* and you have already figured it out. I'm sure all your mates tell you that I am wrong and pat you on the back for pretending that Go is a thing, but I'm just going to go out on a limb here and suggest that you might be smarter than that.&lt;/p&gt;&lt;p&gt;Go's concurrency is redeeming in that it doesn't fuck it up as many of the other rubbish. But that's about it. We already know that is a mistake too. *We already knew this before it was implemented*.&lt;/p&gt;&lt;p&gt;Golang sure as fuck is not a teaching language. Please try harder. I mean, I don't mind a few mistakes, or even a lot of mistakes, but to go absolutely fucking nowhere by praising pathetic language design is just inexcusable. Zero steps. Consider that. It's just disconsolate.&lt;/p&gt;&lt;p&gt;Can we please make an honest effort toward progress? That's all I am asking ultimately. Golang is a fucking scourge, that tricks people like you into thinking it deserves more than the ridicule it invites. Your naivety has been exploited. Three pages, seriously, and you'll transcend it.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Sun, 11 May 2014 07:42:25 -0000</pubDate></item><item><title>Re: Haskell: Creating a sliding window over a collection</title><link>http://www.markhneedham.com/blog/2012/02/28/haskell-creating-a-sliding-window-over-a-collection/#comment-1020097616</link><description>&lt;p&gt;The Extend (related: Comonad) instance for [] will help you with your windowed function.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Tue, 27 Aug 2013 23:45:11 -0000</pubDate></item><item><title>Re: Sticks and stones may break my bones, but names will never concern me</title><link>http://blog.tmorris.net/posts/identifier-names/index.html#comment-995931105</link><description>&lt;p&gt;I agree with everything you wrote.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Sat, 10 Aug 2013 18:38:21 -0000</pubDate></item><item><title>Re: Sticks and stones may break my bones, but names will never concern me</title><link>http://blog.tmorris.net/posts/identifier-names/index.html#comment-995010023</link><description>&lt;p&gt;They were chosen exactly as you might think they were. I did not then use them to infer meaning that is as unreliable as asking a lamp post.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Fri, 09 Aug 2013 17:52:43 -0000</pubDate></item><item><title>Re: Sticks and stones may break my bones, but names will never concern me</title><link>http://blog.tmorris.net/posts/identifier-names/index.html#comment-988689145</link><description>&lt;p&gt;That may [or may not] be so, but I am careful not to suggest anything around answering that question.&lt;/p&gt;&lt;p&gt;It is when we pretend that we can infer meaning with "meaningful identifiers" or other such nonsense that start our journey of peril.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Sun, 04 Aug 2013 19:44:50 -0000</pubDate></item><item><title>Re: Sticks and stones may break my bones, but names will never concern me</title><link>http://blog.tmorris.net/posts/identifier-names/index.html#comment-988678039</link><description>&lt;p&gt;I contend that the extent to which you pretend this mnemonic is &lt;br&gt;useful for inferring properties about the function is the same extent to&lt;br&gt; which you are making errors. I don't believe you (anyone) pretend this &lt;br&gt;mnemonic is useful anywhere near as much as is alleged.&lt;/p&gt;&lt;p&gt;It isn't &lt;br&gt;useful, not a single bit, in the given context — to infer properties &lt;br&gt;about the behaviour of the function. I can test this even on the most &lt;br&gt;vocal and ardent subject and watch them stumble at a rate equivalent to asking a lamp post.&lt;/p&gt;&lt;p&gt;I really mean, "not at all" and I think this is generous. I am not even taking into account the penalty of believing otherwise.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Sun, 04 Aug 2013 19:24:40 -0000</pubDate></item><item><title>Re: Sticks and stones may break my bones, but names will never concern me</title><link>http://blog.tmorris.net/posts/identifier-names/index.html#comment-985347821</link><description>&lt;p&gt;It is true that this type is multiply-inhabited. It is not true that therefore, identifier names are helpful.&lt;/p&gt;&lt;p&gt;I am not sure why this point was missed, given that it is a good portion of the article.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Fri, 02 Aug 2013 00:16:53 -0000</pubDate></item><item><title>Re: Sticks and stones may break my bones, but names will never concern me</title><link>http://blog.tmorris.net/posts/identifier-names/index.html#comment-983886486</link><description>&lt;p&gt;I agree. I had a couple of interpretations of his comment and the one you allude to I had already addressed below. I explicitly address the concern expressed in the article.&lt;/p&gt;&lt;p&gt;I had second thoughts about this interpretation (did this person really just not bother reading, or did I misinterpret?) and I decided to cover both bases with an alternative interpretation, however less likely it might be.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Thu, 01 Aug 2013 05:10:11 -0000</pubDate></item><item><title>Re: Sticks and stones may break my bones, but names will never concern me</title><link>http://blog.tmorris.net/posts/identifier-names/index.html#comment-983665624</link><description>&lt;p&gt;More specifically, the answer given by Donny is incorrect, since it would not have type-checked. In other words, I know for certain that Donny could not give me a program that says what he thinks it does, with his given type.&lt;/p&gt;&lt;p&gt;It is the fact that I do not have to trust Donny to know some important properties about the function. The reason I do not want to trust Donny is because he tells lies (mistakes). Exactly as he did here. If Donny told me he has a function of the type `[A]List[A] =&amp;gt; List[A]` and  then he said, "it does rot13", I would tell him, "No it doesn't, you are lying" and I could do that confidently.&lt;/p&gt;&lt;p&gt;More strongly, if Donny said he has a value of the type [A]List[A], but he refuses to reveal to me which value that is, I don't need to negotiate with him. He has the `Nil` value, since no other value is possible. That is to say, no I don't give up and in fact, I can tell you that all of Donny's values are precisely the same without knowing anything more (and ignoring Donny's mistake). I thoroughly enjoy this degree of confidence, reliability and independence from Donny's tendency to err.&lt;/p&gt;&lt;p&gt;In short, Donny proved the point quite well, even if inadvertently.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Thu, 01 Aug 2013 02:57:43 -0000</pubDate></item><item><title>Re: Sticks and stones may break my bones, but names will never concern me</title><link>http://blog.tmorris.net/posts/identifier-names/index.html#comment-983377359</link><description>&lt;p&gt;Sorry, let me rephrase.&lt;/p&gt;&lt;p&gt; Unfortunately, an implication of the halting problem, in a turing-complete environment which I have [bravely] assumed, is that we cannot prove these program properties, for the general case. This does not mean we cannot prove some program properties in those environments, or prove all program properties for a given (non-turing-complete) environment.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tonymorris</dc:creator><pubDate>Wed, 31 Jul 2013 23:31:09 -0000</pubDate></item></channel></rss>