<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Mind Dump - Latest Comments</title><link xmlns="http://www.w3.org/2005/Atom" rel="http://api.friendfeed.com/2008/03#sup" href="http://disqus.com/sup/all.sup#forumcomments-da6d8d04" type="application/json"/><link>http://lostechies-minddump.disqus.com/</link><description></description><atom:link href="http://lostechies-minddump.disqus.com/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Tue, 01 Mar 2011 11:15:19 -0000</lastBuildDate><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759859</link><description>&lt;p&gt;@ryan:&lt;/p&gt;

&lt;p&gt;You say "re: Is a piece of code considered high quality because it's elegant, follows best practices, and so on? Or is it high quality because it does what it was written to do and does not have to be altered in the future."&lt;/p&gt;

&lt;p&gt;I agree with two caveats:&lt;/p&gt;

&lt;p&gt;I don't believe in "once and for all" for any project people are going to use and maintain going forward. "Easy to understand and change" trumps any "once and for all" in my opinion.&lt;/p&gt;

&lt;p&gt;"Does what it is written to do" is a platitude, really. All code operates as it was written. ;-)  If the code does something really useful (value to end user) it can be elegant, but of course 60% of all features are never used, so code could be internally elegant and not particularly useful.&lt;/p&gt;

&lt;p&gt;So "it does something people need it to do", "does a good job" (performant, etc), and "is easy to change without breaking anything" would be pretty high on my list of qualities for elegant code.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Ottinger</dc:creator><pubDate>Tue, 01 Mar 2011 11:15:19 -0000</pubDate></item><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759855</link><description>&lt;p&gt;Of course there are contradictory rules. People come at things from different angles. Comments and clean code are both shooting at "readable" in different ways. Inheritance used well will improve extensibility, but used poorly will make the system a mess because it is the strongest dependency. Functional programming is both cryptic and structurally simple (simple and clear are not the some concept). &lt;/p&gt;

&lt;p&gt;My take was to try to reach past the practices and approaches and pick out the virtues they're reaching for. It helps me understand different approaches better. &lt;a href="http://agileinaflash.blogspot.com/2010/02/seven-code-virtues.html" rel="nofollow"&gt;http://agileinaflash.blogspot....&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm not the first to do that, and I may not have done it best, but knowing why people make these statements always helps me to make decisions. I think we all want good product, delivered on a timely basis, and which does not create problems in the future but options instead. &lt;/p&gt;

&lt;p&gt;I hope this helps.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tim Ottinger</dc:creator><pubDate>Tue, 01 Mar 2011 11:08:21 -0000</pubDate></item><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759854</link><description>&lt;p&gt;@Scott&lt;/p&gt;

&lt;p&gt;These are worrying questions of yours:&lt;/p&gt;

&lt;p&gt;"Is a piece of code considered high quality because it's elegant, follows best practices, and so on? Or is it high quality because it does what it was written to do and does not have to be altered in the future?"&lt;/p&gt;

&lt;p&gt;This seems to be an expression of a common meme:&lt;/p&gt;

&lt;p&gt;"Just make the code work as soon as you can. It doesn't matter if it's rubbish code because the customer doesn't care about code"&lt;/p&gt;

&lt;p&gt;That POV is wrong. The quickest way to get anything beyond the most trivial software in the hands of customers is to write the code well. Crufty code slows you down, sometimes within hours. Write crappy code and that release date will slip. The customer tends to care about that.&lt;/p&gt;

&lt;p&gt;Most code also has a long life. You pay dearly when you need to change poor, "quick" code. The customer cares that you can't make changes in a timely fashion and that the software keeps breaking when you try.&lt;/p&gt;

&lt;p&gt;Also, I'd like to see how you guarantee code will "not have to be altered in the future". That sort of predictive power would be better used to pick lottery numbers, surely! :-)&lt;/p&gt;

&lt;p&gt;By definition, best practices are not things that slow down delivery. If they do, they clearly aren't best practices! (At least not the way they're being done.)&lt;/p&gt;

&lt;p&gt;For example. how do you tell your code "does what it was written to do"? Maybe unit testing would help? Or do you think that that is going to slow you down? (If it does, you aren't doing it right.)&lt;/p&gt;

&lt;p&gt;All my 20+ years of professional experience in this business tell me that the way to write code the fastest, is to write good quality code.&lt;/p&gt;

&lt;p&gt;Customers may not care what the code looks like, but they certainly care about the effects bad code has on them.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jim Cooper</dc:creator><pubDate>Tue, 08 Feb 2011 17:51:18 -0000</pubDate></item><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759852</link><description>&lt;p&gt;@Rayn&lt;br&gt;Re:I still struggle with what you say  about "equally acceptable solutions"&lt;br&gt;So, as long as we're being very general - e.g. the broadest possible context or no context - then I'm comfortable with this statement.  I'm not smart enough to possibly process every realistically plausible context and prove one approach would definitively be better than another.&lt;br&gt;If we get more specific, put it into an actual context, I'm more inclined to believe the only way two solutions would be equally acceptable would be that they were only slightly different.  If I could play back a conversation from work last week I could demonstrate this idea.  A co-worker didn't particularly like a solution to a problem and we discussed alternatives.  The code in question will be part of an enterprise solution and must be highly flexible.  His initial suggestion would require us to a)re-write a portion of a method if our rules for processing changed or b)create a new object for each set of rules.  The second choice wasn't too bad except that the application of the rules were only one of the roles of that object.&lt;br&gt;In the end we arrived with "two equally acceptable solutions":&lt;br&gt;1)A solution I favored - an abstraction for the role of evaluating and applying rules that depended on an injected collection of rules objects.  Rules would be changed by changing the injected collection via our IoC.&lt;br&gt;2)His favored approach - an abstraction for the role of evaluating and applying rules that explicitly called a known set of rules objects in a know sequence (e.g. hard-coded).  Rules would be changed by creating new processing classes that possessed a new sequence.&lt;br&gt;I liked mine better because we'll have - in my opinion - less code to write when the rules change.  But both support the end goal.  Mine would fit more closely into the composition, non-functional side of your list but that's where most of my favorite ideas live so . . . meh.  I respect my co-worker a great deal and so I'm willing to use his approach if it matters more to him.  If we find his solution to be an issue later, it could be rapidly re-factored into mine so . . . why get too wound up about it?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">gregorylong</dc:creator><pubDate>Sat, 05 Feb 2011 10:47:29 -0000</pubDate></item><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759851</link><description>&lt;p&gt;Perhaps combining most of these statements together creates the clearer picture... Here is my crack at it, I think I have filled in the missing pieces..&lt;/p&gt;

&lt;p&gt;Code should always be well commented... one way to do this is to instead have unit tests and well named methods .&lt;br&gt;Seemingly random class explosion is to be avoided at all costs, but many small simple well named classes are the key to well organized code.&lt;br&gt;Unit tests really don't test anything useful unless they have a clear purpose are easily understandable and are written in a way to not be brittle.&lt;br&gt;Using dependency injection everywhere leads to an unusable mess, but Dependency Injection is a very useful tool for making your code extensible and easily reused.&lt;br&gt;Inheritance leads to solid code reuse, but inheritance is also the strongest coupling of your code you can have, so only use it when composition doesn't make sense.&lt;br&gt;Functional programming simplifies and minimizes the complexity of your code, but Functional programing can make your eyes bleed, so try to use good naming and simple constructs over doing things "clever".&lt;br&gt;Static global references are 'just programming' and something you have to learn how to manage to make simple easy to understand code, but Static global spiderwebs are crippling to maintenance and program lifetime so only use them where they make the code much simpler.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">John Sonmez</dc:creator><pubDate>Sat, 05 Feb 2011 02:00:10 -0000</pubDate></item><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759850</link><description>&lt;p&gt;@Chad I remember those posts well and if you look back far enough I even commented on one of those posts (pre los techies). This is definitely an area we are in perfect agreement, and truthfully you've helped shape those ideas.&lt;/p&gt;

&lt;p&gt;@Gregory Agree about beliefs, people (myself included) carry it too far. However, I still struggle with what you say  about "equally acceptable solutions", Who is it acceptable too? From my perspective I'm struggling to understand where the line is to be drawn from "you're going to reap terrible results from this in the future" to "this is acceptable for the way the organization works".  There are cases where both are true, does that make it an acceptable way to approach things?  Especially when what someone else would call "terrible results" to someone else is "just the way software development works"&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Svihla</dc:creator><pubDate>Fri, 04 Feb 2011 22:07:07 -0000</pubDate></item><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759847</link><description>&lt;p&gt;@Ryan&lt;br&gt;re: In reality though most of us get very dogmatic about a particular style we've stumbled onto and hold it for dear life.&lt;/p&gt;

&lt;p&gt;I won't even touch the definition of professional software development, but this statement hits what I think may be one of the biggest enemies to improvement in our profession.  People have too many beliefs in our business.  Beliefs are a crutch, a way to halt our learning process, declare we have found The Truth, and hide our heads in the sand.&lt;br&gt;It would be better to realize we all just have ideas.  Those ideas only have merit if they help us solve the problem at hand.  If two different ideas result in two equally acceptable solutions - what's the fuss?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">gregorylong</dc:creator><pubDate>Fri, 04 Feb 2011 21:42:11 -0000</pubDate></item><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759846</link><description>&lt;p&gt;@Scott&lt;br&gt;re: Is a piece of code considered high quality because it's elegant, follows best practices, and so on? Or is it high quality because it does what it was written to do and does not have to be altered in the future&lt;/p&gt;

&lt;p&gt;good questions for thought and I do not have an immediate answer. I've tended to view high quality software as something that behaves as expected. But obviously more often that not software ages out of use. the problem it was solving was no longer as important, or the technology it was written in was "deprecated" so how much engineering is needed is contextual and not really known at the time. &lt;/p&gt;

&lt;p&gt;I respect how you're viewing that particular list as a toolkit for a particular project. In reality though most of us get very dogmatic about a particular style we've stumbled onto and hold it for dear life. This makes teamwork and craftsmanship difficult, and occasionally impossible. Now I agree it shouldn't be that way and people should be willing to adapt and adjust, but it's not always the case.&lt;/p&gt;

&lt;p&gt;There is just so much more potential for conflict among those that are otherwise capable in their own right than I'm entirely happy about.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Svihla</dc:creator><pubDate>Fri, 04 Feb 2011 18:46:52 -0000</pubDate></item><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759843</link><description>&lt;p&gt;A post after my own heart...  I've written extensively on this&lt;/p&gt;

&lt;p&gt;A Rant on Professionalism&lt;br&gt;&lt;a href="http://www.lostechies.com/blogs/chad_myers/archive/2009/01/11/a-rant-on-professionalism.aspx" rel="nofollow"&gt;http://www.lostechies.com/blog...&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Good Design is Not Subjective&lt;br&gt;&lt;a href="http://www.lostechies.com/blogs/chad_myers/archive/2008/08/18/good-design-is-not-subjective.aspx" rel="nofollow"&gt;http://www.lostechies.com/blog...&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Minimum requirements for "Good" software&lt;br&gt;&lt;a href="http://www.lostechies.com/blogs/chad_myers/archive/2008/03/16/time-to-login-screen-and-the-absolute-basic-requirements-for-good-software.aspx" rel="nofollow"&gt;http://www.lostechies.com/blog...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">chadmyers</dc:creator><pubDate>Fri, 04 Feb 2011 18:38:49 -0000</pubDate></item><item><title>Re: The difficult definition of professional software development</title><link>http://lostechies.com/ryansvihla/2011/02/04/the-difficult-definition-of-professional-software-development/#comment-319759842</link><description>&lt;p&gt;I think that phrases like this cannot be applied to every situation. Indeed, I tend to think that some of those phrases do not lead to quality code most of the time, but I do respect that they can apply some of the time. I find it difficult to take any of these statements at face value 100% of the time. Sometimes some of the phrases apply; other times the opposite ones do; and all the time it's a varied mix of the phrases that apply to the given situation at hand.&lt;/p&gt;

&lt;p&gt;Taken out of context, these phrases don't make any sense when they're all put together like this, since half of them contradict the other half. However, I believe that it takes a good software craftsman to be able to decide which idioms to follow for the project at hand. If someone were to strike up a conversation with one of the above phrases, I would want some good follow-up on why one would say something like that, not simply take it to mean that one would think that it's the end-all be-all mantra to go by.&lt;/p&gt;

&lt;p&gt;At the end of the day, what matters is the software produced. Consumers are not going to care how elegantly code was written, if it's under test, etc. They just want they paid for. That's not saying that some of the phrases used above aren't a means to that end. It's simply the fact that the only people that will see the code (barring open source projects, naturally) are the developers. Beyond that, the world merely witnesses the product. Is a piece of code considered high quality because it's elegant, follows best practices, and so on? Or is it high quality because it does what it was written to do and does not have to be altered in the future?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Scott DePouw</dc:creator><pubDate>Fri, 04 Feb 2011 18:28:13 -0000</pubDate></item><item><title>Re: Java IoC containers and classpath scanning (or what I’ve been looking for from .NET for months)</title><link>http://lostechies.com/ryansvihla/2010/09/19/java-ioc-containers-and-classpath-scanning-or-what-i-ve-been-looking-for-from-net-for-months/#comment-319759837</link><description>&lt;p&gt;What you need is GUICE.&lt;br&gt;&lt;a href="http://www.richardnichols.net/2010/09/guice-java-ioc-best-practices-annotation-configuration/" rel="nofollow"&gt;http://www.richardnichols.net/...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Attila</dc:creator><pubDate>Sat, 23 Oct 2010 05:33:34 -0000</pubDate></item><item><title>Re: Java IoC containers and classpath scanning (or what I’ve been looking for from .NET for months)</title><link>http://lostechies.com/ryansvihla/2010/09/19/java-ioc-containers-and-classpath-scanning-or-what-i-ve-been-looking-for-from-net-for-months/#comment-319759836</link><description>&lt;p&gt;Yeah was wanting to do this recently with a Stripes application I was working on. Ended up looking at how the stripes-guice plugin wired things together. Was ultimately quite pleased with how it all turned out. Just had to annotate the interface to be able to identify it as something my IOC container should be interested in. Props should be given to the Stripes folks though for providing about half of the code needed to pull it all together.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Karl Kirch</dc:creator><pubDate>Mon, 20 Sep 2010 11:09:21 -0000</pubDate></item><item><title>Re: Project Management in Java: A Confused .NET Developer’s Perspective</title><link>http://lostechies.com/ryansvihla/2010/07/12/project-management-in-java-a-confused-net-developer-s-perspective/#comment-319759829</link><description>&lt;p&gt;@Eddie I understand MSBuild is a fuller scripting language, and again I'm not referring to that. Let me put it this way in any of the above things I've covered I've never had to put a [compile.**/*.java]. I have in Ant and **/*.cs in the csc task in NAnt, which again I'm not going over the scripting option but viewing these things as a Project Management format.  &lt;/p&gt;

&lt;p&gt;Now I'm going to admit I have not used MSBuild for scripting other than the most minor items , so my question is once you've marked that setting will Visual Studio see all included files? For example in Intellij, it has an exclude list instead of an include list (and just a source directory location), if you can get Visual Studio to exhibit that behavior, well awesome and I wish they did that by default, then you could not bother to check in the .proj and .sln files and all and everything would be fine and you could easily have cross version IDE teams, plus it would have prevented TONS of needless source tree conflicts when two people added a different class via the wizard and it added it to the same line in .proj file.&lt;/p&gt;

&lt;p&gt;I understand the this  is not a straight apples to apples comparison and this is in part what I was trying to highlight in the article. MSbuild is part NAnt and Project Management, and it can be used for both or either.  Hence my complete confusion when I entered the Java world.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Svihla</dc:creator><pubDate>Thu, 22 Jul 2010 09:13:20 -0000</pubDate></item><item><title>Re: Project Management in Java: A Confused .NET Developer’s Perspective</title><link>http://lostechies.com/ryansvihla/2010/07/12/project-management-in-java-a-confused-net-developer-s-perspective/#comment-319759828</link><description>&lt;p&gt;Truely speaking, VS project files are MSBuild files, no way around it. You can add a [Compile Include="**\*.cs"] element to do exactly what you are talking about.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eddie Garmon</dc:creator><pubDate>Thu, 22 Jul 2010 08:31:53 -0000</pubDate></item><item><title>Re: Project Management in Java: A Confused .NET Developer’s Perspective</title><link>http://lostechies.com/ryansvihla/2010/07/12/project-management-in-java-a-confused-net-developer-s-perspective/#comment-319759826</link><description>&lt;p&gt;@Eddie &lt;br&gt;In the article I'm in no way discussing MSBuild as a scripting language at all. You'll note I did not make a mention of Ant. Visual studio does behave the way I have stated. Add a new class, and the MSBuild file created by visual studio aka .proj will actually add a line for that class and where it is located.  MSBuild will be called for compilation. &lt;/p&gt;

&lt;p&gt;Open up any Java IDE with a directory structure (with no project format) and a Java project for that IDE will be created on the fly and all the libs and .java files will be referenced and added to the compile list.  Do the same in Visual and you have a .proj with no files.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Svihla</dc:creator><pubDate>Mon, 19 Jul 2010 11:24:48 -0000</pubDate></item><item><title>Re: Project Management in Java: A Confused .NET Developer’s Perspective</title><link>http://lostechies.com/ryansvihla/2010/07/12/project-management-in-java-a-confused-net-developer-s-perspective/#comment-319759822</link><description>&lt;p&gt;You must not understand MSBuild at all. You can do everything you said a java IDE does, but you must understand its syntax. As far as needing a GUI to edit a build script, they (the GUIs) are only good for trivial tasks in pretty much any IDE.  A specialized build file editor (not an IDE) is another story completely.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Eddie Garmon</dc:creator><pubDate>Mon, 19 Jul 2010 11:09:27 -0000</pubDate></item><item><title>Re: Project Management in Java: A Confused .NET Developer’s Perspective</title><link>http://lostechies.com/ryansvihla/2010/07/12/project-management-in-java-a-confused-net-developer-s-perspective/#comment-319759821</link><description>&lt;p&gt;@Troy good comments and I appreciate the feedback. Java is nowadays my day job, so I really wanted to dive into it. I at least need to be able to "speak Java" enough to fit in and not have my ideas discounted as "oh it's just a DotNet guy". In the process I certainly dove into waves of competing perspectives and approaches, and most of them not in straightforward comparisons.&lt;/p&gt;

&lt;p&gt;Also from a purely language perspective, C# 3.5 was pretty awesome compared to the current state of Java, and from a community point of view I still prefer Alt.Net to anything I've found in the Java community.  &lt;/p&gt;

&lt;p&gt;End of the day though languages are interesting it's really the interesting people and different perspectives on solving problems that make all of this worthwhile for me .&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Svihla</dc:creator><pubDate>Thu, 15 Jul 2010 08:54:03 -0000</pubDate></item><item><title>Re: Project Management in Java: A Confused .NET Developer’s Perspective</title><link>http://lostechies.com/ryansvihla/2010/07/12/project-management-in-java-a-confused-net-developer-s-perspective/#comment-319759819</link><description>&lt;p&gt;I read your post having somewhat similar hands on experience. It seems clear. But as I read @Senthil Kumar B's comment, my mind quickly traced my path of discovery. And I realized if I didn't have that experience, this high-points-only overview could likely be confusing. &lt;/p&gt;

&lt;p&gt;Personally, I appreciated the post as a good overview. But, without personal experience, there's several weeks of discovery in there to follow it.&lt;/p&gt;

&lt;p&gt;I've spent about a month in IntelliJ, a few weeks in Net Beans, a week or so in Eclipse. All were good experiences. &lt;/p&gt;

&lt;p&gt;Getting one's head wrapped around how dependencies work is very normalized between each IDE. It is mostly a search for where to do the same thing in each particular IDE. My day job is .NET. I'd say, on the whole, that language differences and hardware differences are the biggest factors that steer my preferences. I've only used c# 4 experimentally, but with great pleasure. I feel lost without extension methods in java, but any non-sealed class can be extended to get fluent methods--yet, it's a little more work. It may be my general experience, but I typically find communication between dissimilar boxes less painful in the .NET arena.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Troy</dc:creator><pubDate>Wed, 14 Jul 2010 23:56:28 -0000</pubDate></item><item><title>Re: Project Management in Java: A Confused .NET Developer’s Perspective</title><link>http://lostechies.com/ryansvihla/2010/07/12/project-management-in-java-a-confused-net-developer-s-perspective/#comment-319759817</link><description>&lt;p&gt;That was a bit Confusing :(&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Senthil Kumar B</dc:creator><pubDate>Mon, 12 Jul 2010 13:46:06 -0000</pubDate></item><item><title>Re: Come see my Boo talk at Alamo Coders on the 14th</title><link>http://lostechies.com/ryansvihla/2010/04/13/come-see-my-boo-talk-at-alamo-coders-on-the-14th/#comment-319759832</link><description>&lt;p&gt;@KevDog&lt;br&gt;Absolutely, I will post slides and code samples.&lt;br&gt;We're working on getting video but no promises.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Svihla</dc:creator><pubDate>Tue, 13 Apr 2010 16:37:59 -0000</pubDate></item><item><title>Re: Come see my Boo talk at Alamo Coders on the 14th</title><link>http://lostechies.com/ryansvihla/2010/04/13/come-see-my-boo-talk-at-alamo-coders-on-the-14th/#comment-319759831</link><description>&lt;p&gt;If it works out, any chance you could post a video of the talk (or slides if you're using them)?&lt;/p&gt;

&lt;p&gt;Many thanks,&lt;/p&gt;

&lt;p&gt;Kevin&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">KevDog</dc:creator><pubDate>Tue, 13 Apr 2010 16:25:28 -0000</pubDate></item><item><title>Re: Domain Specific Languages with Boo: AST Macros</title><link>http://lostechies.com/ryansvihla/2010/04/05/domain-specific-languages-with-boo-ast-macros/#comment-319759808</link><description>&lt;p&gt;Fair enough, my experience of Boo Macros isn't huge, but I've tried implementing my own, and came to the conclusion that it didn't really have the power I needed (It evaluates before it's done type resolution.)  My principal experience is with Binsor, which is great when things are going well, but a nightmare when they're not: figuring out the syntax requires you to read several thousand lines of code...&lt;/p&gt;

&lt;p&gt;I still think that diagnostics, in particular, are a serious issue if you ever start to heavily use it.  Admittedly, my own argument here is reminding me of the people who told me that they didn't think I should use delegates in my code because people wouldn't understand them...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julian Birch</dc:creator><pubDate>Wed, 07 Apr 2010 15:01:07 -0000</pubDate></item><item><title>Re: Domain Specific Languages with Boo: AST Macros</title><link>http://lostechies.com/ryansvihla/2010/04/05/domain-specific-languages-with-boo-ast-macros/#comment-319759807</link><description>&lt;p&gt;@Julian I think that's a bit extreme as there are well documented problems with every approach, macro's have their place and it's more about tradeoffs.&lt;/p&gt;

&lt;p&gt;This case was a simple way to show how it works, please don't take it as a use case, as this was a unit test.&lt;/p&gt;

&lt;p&gt;Think of macros as a CLR version of standalone function objects and use them accordingly. They're nice in DSL creation and not something I'd recommend you make heavy use of in general purpose programming.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ryan Svihla</dc:creator><pubDate>Mon, 05 Apr 2010 22:18:19 -0000</pubDate></item><item><title>Re: Domain Specific Languages with Boo: AST Macros</title><link>http://lostechies.com/ryansvihla/2010/04/05/domain-specific-languages-with-boo-ast-macros/#comment-319759806</link><description>&lt;p&gt;I'm sorry, it still doesn't strike me that these macros solve more problems than they create.  In this case, it strikes me that a base class with a describe method would have been more elegant.  If macros get complex, sorting out the compiler errors becomes a nightmare.  If they don't, there doesn't seem to be a lot of point.  Put it another way: there are an awful lot of well-documented problems with macro programming, and very few of them are addressed by replacing text manipulation with graph manipulation.&lt;/p&gt;

&lt;p&gt;I think I probably need to expand on this as well... :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Julian Birch</dc:creator><pubDate>Mon, 05 Apr 2010 06:58:50 -0000</pubDate></item><item><title>Re: Domain Specific Languages with Boo: AST Macros</title><link>http://lostechies.com/ryansvihla/2010/04/05/domain-specific-languages-with-boo-ast-macros/#comment-319759803</link><description>&lt;p&gt;"the entire subject of what is a DSL and what types of DSL there are and how to create a proper DSL could be a book itself and a fascinating one at that." &lt;/p&gt;

&lt;p&gt;yup! &lt;a href="http://martinfowler.com/dslwip/" rel="nofollow"&gt;http://martinfowler.com/dslwip...&lt;/a&gt; :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">derick.bailey</dc:creator><pubDate>Sun, 04 Apr 2010 22:44:31 -0000</pubDate></item></channel></rss>
