<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>David R. MacIver - Latest Comments</title><link>http://drmaciver.disqus.com/</link><description></description><atom:link href="https://drmaciver.disqus.com/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Tue, 17 Feb 2009 19:09:12 -0000</lastBuildDate><item><title>Re: Comments on Disqus</title><link>http://www.drmaciver.com/2009/02/comments-on-disqus/#comment-6357812</link><description>&lt;p&gt;By way of determining annoyingosity, this is a comment.&lt;/p&gt;&lt;p&gt;Is it annoying? We shall see. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David R. MacIver</dc:creator><pubDate>Tue, 17 Feb 2009 19:09:12 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265803</link><description>&lt;p&gt;Hi David,&lt;/p&gt;&lt;p&gt;You stated that Scala's standard library is pretty embarrassing. Why? In which sense?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">George</dc:creator><pubDate>Thu, 12 Feb 2009 13:21:07 -0000</pubDate></item><item><title>Re: Living on the edge of academia</title><link>http://www.drmaciver.com/2008/12/living-on-the-edge-of-academia/#comment-6265755</link><description>&lt;p&gt;I second the comment about an electronic subscription to a university library.&lt;br&gt;Through Northwestern University's library I can get electronic access to almost everything that has published since 1996 which is worth reading. A subscription costs something on the order of 120 USD/year.&lt;/p&gt;&lt;p&gt;Also, about publishing code, consider the incentive structure.&lt;br&gt;The citation distribution follows a power law, meaning that a few papers get many citations but most papers get few citations or none at all. In other words, the probability is high that no one will care about your code. Since academics are often ashamed to release an inferior product, they feel they must make a cleaned-up version for public release. And the expected return on this is negative, since the probability is so low that anyone actually cares.&lt;br&gt;Academics would publish their code much more freely if they were rewarded for it, and those rewards were clear and tangible. For example, if released code factored into tenure decisions, you would see a quantal change in how much open-sourcing goes on.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Robert Daland</dc:creator><pubDate>Tue, 10 Feb 2009 16:48:52 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265802</link><description>&lt;p&gt;I'm currently working on a moderately sized python project, so I would like to add:&lt;br&gt;Good:&lt;br&gt;1. The module/package system is clean and easy to use.&lt;br&gt;Bad:&lt;br&gt;1. The standard GUI toolkit sucks.&lt;br&gt;2. The explicit reference to self can be a syntactic pain in the ass when you're doing heavy OO.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Basu</dc:creator><pubDate>Tue, 10 Feb 2009 10:18:31 -0000</pubDate></item><item><title>Re: Not really LÖVING it</title><link>http://www.drmaciver.com/2009/02/not-really-loving-it/#comment-6265814</link><description>&lt;p&gt;I have not yet found the time to test it, but this may be relevant for your project to write something in&lt;br&gt;scala: &lt;a href="http://technically.us/code/x/runaway-processing/" rel="nofollow noopener" target="_blank" title="http://technically.us/code/x/runaway-processing/"&gt;http://technically.us/code/...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Florian</dc:creator><pubDate>Tue, 10 Feb 2009 06:14:45 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265801</link><description>&lt;p&gt;Just as a heads up: Comments so far have been fine, but I will actively delete comments that look like they're turning into a languages flame war.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">david</dc:creator><pubDate>Sat, 07 Feb 2009 08:35:58 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265800</link><description>&lt;p&gt;There are eleven currently-maintained implementations of Common Lisp.  See my survey paper at &lt;a href="http://common-lisp.net/~dlw/LispSurvey.html" rel="nofollow noopener" target="_blank" title="http://common-lisp.net/~dlw/LispSurvey.html"&gt;http://common-lisp.net/~dlw...&lt;/a&gt;.  I work at ITA Software, where we are building a high-availability, high-performance, full-function airline reservation system, whose core layer is written in Common Lisp, about 500KLOC.  There are many, many Common Lisp success stories (see the paper).&lt;/p&gt;&lt;p&gt;The parentheses are something you get used to very quickly, and Lisp development environments such as Emacs make them far easier to use.  Nevertheless, I know they look weird to people who haven't used them.&lt;/p&gt;&lt;p&gt;Regarding the Paul Graham paper, those of us who have used a lot of languages and do understand the more advanced ones don't think any language is "best".  There are lots of tradeoffs.  When I was a teenager at the beginning of the Lisp machine project at MIT, I was a Lisp bigot, but no more.  Lisp is great; I do all my work in it these days, and I am general chair of the upcoming International Lisp Conference (&lt;a href="http://ilc09.org" rel="nofollow noopener" target="_blank" title="ilc09.org"&gt;ilc09.org&lt;/a&gt; - register now!!), but I respect a lot of other languages.  I recently starting learning Haskell, which everybody should do: it's mind-blowingly cool, and very different from anything else.  Next up: Clojure.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel Weinreb</dc:creator><pubDate>Sat, 07 Feb 2009 08:27:28 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265799</link><description>&lt;p&gt;I really like your list. I think when you start learning to program, you still believe that there is "the best programming language ever". But then, you start to understand that each programming language stands for a certain view on computation, and it's hard to say that a one is uniformly better than all others for all kinds of uses.&lt;/p&gt;&lt;p&gt;C++&lt;/p&gt;&lt;p&gt;Good&lt;br&gt;- As fast as C&lt;br&gt;- Gives you quite a few tools for abstraction (e.g. templates, object oriented programming)&lt;br&gt;Bad:&lt;br&gt;- Painfully verbose (retype full declarations in header file and implementation file?)&lt;br&gt;- Basically an experiment how much abstraction you can put into a language and still compile it to assembly code.&lt;/p&gt;&lt;p&gt;LISP&lt;/p&gt;&lt;p&gt;Good&lt;br&gt;- really old (extra coolness factor)&lt;br&gt;- gives you about every cool concept that has ever been invented (e.g. GC, macros, functions as objects, object-oriented programming)&lt;br&gt;Bad&lt;br&gt;- Parenthesis everywhere&lt;br&gt;- Is there any maintained implementation besides Emacs?&lt;/p&gt;&lt;p&gt;Also, you mind find this older post by Steve Yegge interesting: &lt;a href="http://steve.yegge.googlepages.com/tour-de-babel" rel="nofollow noopener" target="_blank" title="http://steve.yegge.googlepages.com/tour-de-babel"&gt;http://steve.yegge.googlepa...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Paul Graham had also an interesting chapter in his book "Hackers and Painters" claiming that you always believe that your current programming language is the best one because it obviously is better than everything you've used so far, and you yet don't understand the more advanced programming languages.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">mikiobraun</dc:creator><pubDate>Sat, 07 Feb 2009 07:51:57 -0000</pubDate></item><item><title>Re: New site design</title><link>http://www.drmaciver.com/2009/02/new-site-design/#comment-6265816</link><description>&lt;p&gt;TK: I couldn't persuade OpenCalais to figure that tag out. :-)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">david</dc:creator><pubDate>Fri, 06 Feb 2009 05:45:21 -0000</pubDate></item><item><title>Re: New site design</title><link>http://www.drmaciver.com/2009/02/new-site-design/#comment-6265815</link><description>&lt;p&gt;I thoroughly approve of the new design (happily working in elinks), although I'm shocked to see just the one post in "Rambling Nonesense"...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">TK</dc:creator><pubDate>Fri, 06 Feb 2009 05:34:39 -0000</pubDate></item><item><title>Re: Not really LÖVING it</title><link>http://www.drmaciver.com/2009/02/not-really-loving-it/#comment-6265810</link><description>&lt;p&gt;Villane:&lt;/p&gt;&lt;p&gt;On further investigation, Slick looks rather interesting. I should definitely have a play with that.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">david</dc:creator><pubDate>Wed, 04 Feb 2009 05:08:10 -0000</pubDate></item><item><title>Re: Not really LÖVING it</title><link>http://www.drmaciver.com/2009/02/not-really-loving-it/#comment-6265812</link><description>&lt;p&gt;rude:&lt;/p&gt;&lt;p&gt;Thanks for the tip about 1. Dare I suggest that "eat 100% of the CPU" is not a good default, even if it's circumventable. :-)&lt;/p&gt;&lt;p&gt;2 is hard to reproduce reliably, but was particularly noticeable with pidgin - often existing pidgin instances would crash when love started up or closed (problem observed both under linux and windows xp).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">david</dc:creator><pubDate>Tue, 03 Feb 2009 18:07:50 -0000</pubDate></item><item><title>Re: Not really LÖVING it</title><link>http://www.drmaciver.com/2009/02/not-really-loving-it/#comment-6265811</link><description>&lt;p&gt;Heh, you should start a competitor called HÄTE. :3&lt;/p&gt;&lt;p&gt;Two things:&lt;/p&gt;&lt;p&gt;1. Yes, LÖVE will take all the CPU it can get by default. Sleep a few milliseconds in the main loop if you don't like it. &lt;br&gt;2. Randomly crash other applications? This is the first I've heard of this happening. If you have any more information, it would be cool if you could send it to me.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">rude</dc:creator><pubDate>Tue, 03 Feb 2009 17:49:36 -0000</pubDate></item><item><title>Re: Not really LÖVING it</title><link>http://www.drmaciver.com/2009/02/not-really-loving-it/#comment-6265809</link><description>&lt;p&gt;I haven't looked into LÖVE, but I'm working on 2D games in Scala.&lt;/p&gt;&lt;p&gt;I'm using the Slick Java library (recommend it!) and my Scala port of JBox2D physics engine as the foundation. However, I don't think the level of abstraction provided by those libraries is enough to implement a game, so I'm writing a game entity system on top of those, plus some other goodies. It takes advantage of some Scala's modularity features (traits most of all) and I think it's going to be awesome :) I will release an early version of the engine (source code) in a few months.&lt;/p&gt;&lt;p&gt;A video of an early game prototype in action is available: search for "Orbitum" on youtube.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Villane</dc:creator><pubDate>Mon, 02 Feb 2009 08:35:29 -0000</pubDate></item><item><title>Re: Not really LÖVING it</title><link>http://www.drmaciver.com/2009/02/not-really-loving-it/#comment-6265808</link><description>&lt;p&gt;I haven't looked into LÖVE, but I'm working on 2D games in Scala. Here's a crappy webcam video of a current prototype: &lt;a href="http://www.youtube.com/watch?v=wfPLRhwGQxY" rel="nofollow noopener" target="_blank" title="http://www.youtube.com/watch?v=wfPLRhwGQxY"&gt;http://www.youtube.com/watc...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I'm using the Slick 2D engine and Box 2D for physics (the latter I ported to Scala). In a few months, I hope to release both a demo and make the source of the engine available.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Villane</dc:creator><pubDate>Mon, 02 Feb 2009 07:19:05 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265798</link><description>&lt;p&gt;It would probably improve its readability dramatically. :-)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">david</dc:creator><pubDate>Sun, 01 Feb 2009 11:54:15 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265797</link><description>&lt;p&gt;You jest now... Wait until the scala eclipse plugin is written in lolcode for improved stability!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">J.Suereth</dc:creator><pubDate>Sun, 01 Feb 2009 11:46:35 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265795</link><description>&lt;p&gt;With most people I'd question whether they'd really written enough lolcode to justify contributing it to this list. I think I'll take your word for it though. :-)&lt;/p&gt;&lt;p&gt;How's the work coming on rewriting the lolcode eclipse plugin in lolcode?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">david</dc:creator><pubDate>Sat, 31 Jan 2009 13:02:17 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265794</link><description>&lt;p&gt;True... It also taunts when when it makes u a cookie, but eated it.&lt;/p&gt;&lt;p&gt;Sometimes it can WTF.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">J. Sueeth</dc:creator><pubDate>Sat, 31 Jan 2009 12:59:20 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265793</link><description>&lt;p&gt;Surely there's at least one bad feature of lolcode: It can take ur bukkit.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">david</dc:creator><pubDate>Sat, 31 Jan 2009 12:56:39 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265804</link><description>&lt;p&gt;You missed a few of my favorites:&lt;/p&gt;&lt;p&gt;Zombie&lt;/p&gt;&lt;p&gt;Good:&lt;br&gt;- Inherently evil&lt;br&gt;- Summon minions to do thy bidding&lt;br&gt;Bad:&lt;br&gt;- Inheriently evil&lt;br&gt;- Summons minions who may not do thy bidding.&lt;/p&gt;&lt;p&gt;LOLCode&lt;/p&gt;&lt;p&gt;Good:&lt;br&gt;- Hilarious&lt;br&gt;- Furry-Feline-Friendly&lt;br&gt;Bad:&lt;br&gt;- There are no cons with LOLCode&lt;/p&gt;&lt;p&gt;Haifu&lt;br&gt;Good:&lt;br&gt;- Incredibly poetic and beautiful&lt;br&gt;- Perfectly in balance with the universe&lt;br&gt;Bad:&lt;br&gt;- Must be a Zen Master to balance the Yin and Yang and elements to create executable code.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">J. Sueeth</dc:creator><pubDate>Sat, 31 Jan 2009 12:47:59 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265805</link><description>&lt;p&gt;You're cheating, both of you. Two items per list only! :-)&lt;/p&gt;&lt;p&gt;But thanks for the contributions anyway.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">david</dc:creator><pubDate>Sat, 31 Jan 2009 11:21:46 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265807</link><description>&lt;p&gt;C++&lt;/p&gt;&lt;p&gt;Good:&lt;br&gt;- All the performance capabilities of C&lt;br&gt;- Far more abstraction capabilities than most languages out there&lt;/p&gt;&lt;p&gt;Bad:&lt;br&gt;- So complicated no two compilers, let alone programmers, understand the same language&lt;br&gt;- High abstraction and manual memory management are a poor mix (please don't mention RAII, smart pointers, or Boehm garbage collector - they're either too restrictive or too conservative or both)&lt;br&gt;- Very difficult to avoid doing massive re-compile on seemingly small changes&lt;/p&gt;&lt;p&gt;Assembly&lt;/p&gt;&lt;p&gt;Good:&lt;br&gt;- You can do anything you want&lt;br&gt;- Make hardware your bitch&lt;/p&gt;&lt;p&gt;Bad:&lt;br&gt;- You can do anything you think you want to do but mostly you probably really shouldn't want to&lt;br&gt;- It takes 16 pages of inscrutable code to do it&lt;/p&gt;&lt;p&gt;Scheme&lt;/p&gt;&lt;p&gt;Good:&lt;br&gt;- call-with-current-continuation&lt;br&gt;- gentle learning curve&lt;br&gt;- hygienic macros&lt;/p&gt;&lt;p&gt;Bad:&lt;br&gt;- call-with-current-continuation&lt;br&gt;- the standard is too small so each Scheme implementation adds its own incompatible "batteries included" language and library extensions&lt;br&gt;- everything is mutable whether you want it to be or not which is odd in a functional language&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James Iry</dc:creator><pubDate>Sat, 31 Jan 2009 10:56:28 -0000</pubDate></item><item><title>Re: Criticizing programming languages</title><link>http://www.drmaciver.com/2009/01/criticizing-programming-languages/#comment-6265806</link><description>&lt;p&gt;Nice list. Let me add 2:&lt;/p&gt;&lt;p&gt;C#&lt;br&gt;Good:&lt;br&gt; - Mainstream language that actually incorporates new shiny features&lt;br&gt; - Helps you to earn money&lt;br&gt; - Best Tool chain I have ever seen&lt;br&gt;Bad:&lt;br&gt; - Microsoft/Windows Only&lt;br&gt; - Generics were put in as an afterthought / Every object can be null&lt;/p&gt;&lt;p&gt;Delphi&lt;br&gt;Good:&lt;br&gt; - Nice toolkit&lt;br&gt; - High performance&lt;br&gt;Bad:&lt;br&gt; - Archaic language&lt;br&gt; - IDE, compiles - all of them are buggy as hell&lt;/p&gt;&lt;p&gt;Sounds like a nice StackOverflow Question ;)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniel</dc:creator><pubDate>Sat, 31 Jan 2009 10:34:19 -0000</pubDate></item><item><title>Re: Cleaning up a set of tags, part 1</title><link>http://www.drmaciver.com/2009/01/cleaning-up-a-set-of-tags-part-1/#comment-6265782</link><description>&lt;p&gt;Also I'm glad you're finding it interesting. :-) I don't expect that much of what I'm doing will see use on these sites - it's not really for that. It's more for building data analysis on top of a noisy tag set.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">david</dc:creator><pubDate>Wed, 28 Jan 2009 12:09:41 -0000</pubDate></item></channel></rss>