<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Neil Roberts is a senior software engineer at BitMethod and a committer and active member of the Dojo Toolkit project and community. A love of both client and server-side programming technologies, he can be seen using Django and Drupal when the mood strikes. Sometimes he writes Java and enjoys it.


  #favicons a {
    margin-right: 3px;
  }

	


</description><title>Some Closure by Neil Roberts</title><generator>Tumblr (3.0; @pottedmeat)</generator><link>http://someclosure.com/</link><item><title>How I Created an iPhone Weight Loss App</title><description>&lt;p&gt;Around Thanksgiving of this year my company, &lt;a target="_blank" href="http://bitmethod.com/"&gt;BitMethod&lt;/a&gt;, released an iPhone App into the iTunes Store that takes a completely different approach to weight loss tracking and logging than any other tool I’ve used. I stumbled onto this idea completely by accident and I wanted to outline the history of how it happened since I find it interesting and I figure others might as well. &lt;a title="Lite Weight App Site" target="_blank" href="http://liteweightapp.com/"&gt;Lite Weight&lt;/a&gt; is the child of a lot of different ideas and philosophies that I’ve enjoyed learning about over the course of my weight loss journey.&lt;/p&gt;
&lt;p&gt;My first discovery, as I remember it, was &lt;a target="_blank" href="http://www.fourmilab.ch/hackdiet/www/hackdietf.html"&gt;The Hacker’s Diet&lt;/a&gt;. Though I now believe that the idea of nutrition as a “&lt;a target="_blank" href="http://www.fourmilab.ch/hackdiet/www/chapter1_2_2.html#SECTION0220000000000000000"&gt;Rubber Bag&lt;/a&gt;” is a limited view of nutrition, I really enjoyed the authors &lt;a target="_blank" href="http://www.fourmilab.ch/hackdiet/www/chapter1_2_4.html#SECTION0240000000000000000"&gt;insights into weight tracking&lt;/a&gt;. To quickly summarize: even if you enter your weight in wearing the same clothes, at the same time every day, your weight can change a substantial amount. Dehydration and exercise can cause weight to fall, a big meal can leave extra weight in your belly, and both salt and carbohydrate intake can cause water retention. The author proposes that weight should be tracked using a moving average so that your actual weight can be approximated amid all those changes in the amount of water in your body. Many approaches are proposed in the book to do this weight charting, but I used the excellent site, &lt;a target="_blank" href="http://physicsdiet.com/"&gt;Physics Diet&lt;/a&gt;, to use as my weight loss journal.&lt;/p&gt;
&lt;p&gt;Quite a while after this, I stumbled over the book, &lt;a target="_blank" href="http://theoverfedhead.com/"&gt;The Overfed Head&lt;/a&gt;, though I’m going to skip over this for now, since it didn’t play a part in Lite Weight until near the very end of development.&lt;/p&gt;
&lt;p&gt;But the idea that really led to Lite Weight was gleaned from an article on &lt;a title="by Philip Greenspun" target="_blank" href="http://philip.greenspun.com/writing/changed-by-web-and-weblog"&gt;how the web and weblog have changed writing&lt;/a&gt;. A professor of electrical engineering and computer science at MIT proposed that all one needs to do to lose weight is to draw a line from your current weight to a goal weight and plot your weight each day. If your weight is over the line, eat less and if your weight is under the line, eat as normal. This professor’s name is Steve Ward and his diet is known as &lt;i&gt;The Steve Ward Diet&lt;/i&gt; or &lt;i&gt;The Bang-Bang Diet&lt;/i&gt; (bang-bang because of a type of controller that is either on or off based on some input)&lt;/p&gt;
&lt;p&gt;Lite Weight didn’t immediately pop into my head as soon as I had learned all of these ideas. Really, I don’t know what ultimately led to the idea. It was probably while walking around downtown Des Moines or raking leaves in my yard. But I think the thought at the time was along the lines of “why can’t I write a program that tells me how I should behave based on my weight loss history”.&lt;/p&gt;
&lt;p&gt;My early attempts at putting together some tool didn’t make me very happy. I was still buying into the view of Steve Ward that some goal weight should be set to be reached at some goal date. It was great in terms of development because the math is really easy, but it sucked in a few ways:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Trying to set a goal is depressing&lt;/li&gt;
&lt;li&gt;Getting off track of your goal is depressing&lt;/li&gt;
&lt;li&gt;Having to push away your goal date is depressing&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Realizing this caused the solution to emerge somewhat organically. The math would be much more complicated, but I decided that I can safely assume that if a user chose to use this tool that he or she wanted to lose weight. Without the goal weights, the App struck a chord in its simplicity. I was able to develop a tool that had a single input and could suggest a clear course of action.&lt;/p&gt;
&lt;p&gt;You might be thinking that suggesting a clear course of action is just guesswork. When I started out, I had felt the same way. But my earlier decision to assume the user is trying to lose weight allows for some math that creates some very clear separation between the four states that I eventually adopted: Relax, Over, Under, and Gaining.&lt;/p&gt;
&lt;p&gt;In terms of programming, the rest of the story is pretty boring. I decided to add a maintenance mode and came up with some more fun math for that, I made it pretty, I tweaked the code so that it acted as you would expect after Thanksgiving weekend, for example, and any other situations that can lead to odd weight fluctuations.&lt;/p&gt;
&lt;p&gt;But back to The Overfed Head. One of the central ideas of the book is expressed in the term &lt;i&gt;thintuition&lt;/i&gt;, coined by the author to explain the behavior that naturally thin people exhibit. Basically, some people stop and listen to their body to determine whether they’re full or hungry, and lots of us don’t. At this point, the application was almost done and running on my iPhone. I had been using it regularly and was beginning to notice how it was affecting me. By having a simple, clear explanation of what my body was doing, I couldn’t make excuses for the decisions I had made. If I got feedback explaining that my weight was above what was expected, I usually knew why and it was typically related to my behavior the day before. Almost without thinking, I would eat less, giving myself a smaller serving of something, or not finishing food I wasn’t hungry for. It wasn’t until I was helping to write the text for the iTunes Store that I realized that the application was giving me that thintuition I had read about in The Overfed Head.&lt;/p&gt;
&lt;p&gt;I’m really happy with the final product, which is &lt;a title="Lite Weight in the iTunes Store" target="_blank" href="http://itunes.apple.com/us/app/lite-weight/id336565572?mt=8"&gt;available&lt;/a&gt; for the iPhone and iPod Touch in the iTunes Store for 99 cents. The ideas and contributions of a collection of people helped me hone my product and actually simplify it the more of them I used. Stop by the Lite Weight App Site to check out videos of our &lt;a title="Lite Weight App Site" target="_blank" href="http://liteweightapp.com/"&gt;iPhone weight loss tracking app&lt;/a&gt;.&lt;/p&gt;</description><link>http://someclosure.com/post/1620121554</link><guid>http://someclosure.com/post/1620121554</guid><pubDate>Sun, 24 Jan 2010 10:08:00 -0600</pubDate></item><item><title>Lite Weight for iPhone</title><description>&lt;a href="http://liteweightapp.com"&gt;Lite Weight for iPhone&lt;/a&gt;: &lt;p&gt;Just finished up the app site for my &lt;a target="_blank" href="http://liteweightapp.com"&gt;iPhone weight loss App&lt;/a&gt;!&lt;/p&gt;</description><link>http://someclosure.com/post/1620130653</link><guid>http://someclosure.com/post/1620130653</guid><pubDate>Fri, 18 Dec 2009 00:17:00 -0600</pubDate></item><item><title>Sourced and Non-Sourced Script Tags</title><description>&lt;a href="http://ejohn.org/blog/degrading-script-tags/"&gt;Sourced and Non-Sourced Script Tags&lt;/a&gt;: &lt;p&gt;John Resig:&lt;/p&gt;
&lt;blockquote&gt;“One thing has always annoyed me about the script tag. Script tags that reference external resources (via the src attribute) are no longer able to execute script embedded within the tag itself.”&lt;/blockquote&gt;
&lt;p&gt;This has always bugged me, but I’ve never been able to come up with a good solution. I think John is really creating some good mojo with this post, and I’m fascinated to see whether we, as a community, can come up with a good pattern to make this type of script tag use work, and make it work well.&lt;/p&gt;</description><link>http://someclosure.com/post/1620131299</link><guid>http://someclosure.com/post/1620131299</guid><pubDate>Wed, 27 Aug 2008 06:08:00 -0500</pubDate></item><item><title>Arrows are callbacks too</title><description>&lt;a href="http://blog.tupil.com/look-ma-no-callbacks/"&gt;Arrows are callbacks too&lt;/a&gt;: &lt;p&gt;Chris Eidhof:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Arrows are a concept from functional programming, and we’ll see how they can make our life in Javascript a lot easier. Our code uses the excellent &lt;a href="http://www.cs.umd.edu/projects/PL/arrowlets/" target="_blank"&gt;Arrowlets&lt;/a&gt; library. It’s still alpha code, but it’s already quite useful.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What an odd title. It seems like the entire idea of this method is to use callbacks. I wish I knew what the author meant by his title.&lt;/p&gt;
&lt;p&gt;Anyway, an interesting look into a different way of doing functional programming with JavaScript.&lt;/p&gt;</description><link>http://someclosure.com/post/1620131755</link><guid>http://someclosure.com/post/1620131755</guid><pubDate>Tue, 26 Aug 2008 11:59:00 -0500</pubDate></item><item><title>JavaScript Stack Trace in any Browser</title><description>&lt;a href="http://eriwen.com/javascript/js-stack-trace/"&gt;JavaScript Stack Trace in any Browser&lt;/a&gt;: &lt;p&gt;Eric Wendelin:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Chances are that if you’ve done any significant Javascript work, you’ve run into a situation where part of the debugging process could be much improved if you just had the function call stack.&lt;/p&gt;
&lt;p&gt;“I’m going to give you some ways of doing this with and without the popular Firebug extension and have some examples of their uses.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This seems to work, and I’d like for the community to take ahold of it. It would be fancy to be able to have a valid console.trace(); in &lt;a href="http://getfirebug.com/lite.html" target="_blank"&gt;Firebug Lite&lt;/a&gt;.&lt;/p&gt;</description><link>http://someclosure.com/post/1620132128</link><guid>http://someclosure.com/post/1620132128</guid><pubDate>Wed, 13 Aug 2008 20:00:00 -0500</pubDate></item><item><title>Declarative Eventing in Markup with Dojo</title><description>&lt;a href="http://dojocampus.org/content/2008/08/09/dojoml-the-best-thing-since-sliced-bread/"&gt;Declarative Eventing in Markup with Dojo&lt;/a&gt;: &lt;p&gt;Karl Tiedt:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Have you ever found a widget that does almost *everything* you need, yet you still manage to find some small thing that needs to be done differently? Ever cringe at the thought of having to extend a widget to add 5 or 10 lines of code to it? In the past, thats what you had to do… well unless you were really gung-ho and wanted to write your own from scratch.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It’s meant to be a cookie, so it’s meant to be short and sweet, but I might as well use this as an opportunity to build on that.&lt;/p&gt;
&lt;p&gt;First of all, this will work with any class-type object that can accept a property and a node as its two parameters and not barf. Overall, the point of DojoML has always been prototyping. Being able to prototype a change to the way a widget (or any object) works inline is really nice.&lt;/p&gt;
&lt;p&gt;Secondly, and as much as I say this, it doesn’t seem to get understood, this whole pattern is functionally equivalent to creating a function that:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Creates a new instance of a widget&lt;/li&gt;
&lt;li&gt;Uses dojo.connect, or a direct override to change its functionalitty&lt;/li&gt;
&lt;li&gt;Returns that instance&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;In JavaScript, a constructor function can return whatever it wants, so you can use it as an adapter, which is totally possible here.&lt;/p&gt;</description><link>http://someclosure.com/post/1620132716</link><guid>http://someclosure.com/post/1620132716</guid><pubDate>Mon, 11 Aug 2008 19:22:00 -0500</pubDate></item><item><title>Worthwhile Django Database Migration?</title><description>&lt;a href="http://aeracode.org/projects/south/tutorial/"&gt;Worthwhile Django Database Migration?&lt;/a&gt;: &lt;p&gt;south tutorial:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“With South, you install it and then give one or more of your apps some migrations (either writing them by hand, or autogenerating them from your model definitions). When you syncdb, you’ll only sync apps that don’t have migrations (things like django.contrib.auth, for example, which have a fixed schema), and then when you run ./manage.py migrate, South kicks in and does the migrations. Intelligently.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The first  database migration tool for Django that I think has a future, I plan to start messing around with this in my personal projects.&lt;/p&gt;</description><link>http://someclosure.com/post/1620133636</link><guid>http://someclosure.com/post/1620133636</guid><pubDate>Mon, 11 Aug 2008 13:57:00 -0500</pubDate></item><item><title>Dojo Adds UI Testing with doh.robot</title><description>&lt;a href="http://dojotoolkit.org/2008/08/11/doh-robot-automating-web-ui-unit-tests-real-user-events"&gt;Dojo Adds UI Testing with doh.robot&lt;/a&gt;: &lt;p&gt;Mark Hayes:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“However, we took a different approach to dispatching events: instead of using synthetic events, we used the cross-browser and cross-platform Java applet technology to place real events on the native event queue, as if a real person performed the action. This means that when you use doh.robot to execute your unit tests, browsers will trust the events doh.robot creates from your commands and will handle any and all contingent events for you. So when you tell doh.robot to send a Tab keypress, you can fully expect the Tab to move focus to the next element in the Tab order, as if a real user pressed Tab. And when you tell doh.robot to click an element, you can fully expect to get the onmouseover before the onmousedown, as well as all of those hundreds of onmousemoves a real user would generate in between. When you use the DOH test runner in conjunction with doh.robot, you can easily automate and report the results of numerous accessibility and UI unit tests that would otherwise require manual, visual inspection by a real person.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Looks pretty sweet, I’ve always been skeptical of (and had trouble with) the UI testers that synthesized events. I think the API needs a little help, but I expect this to be huge over the next few months. Dojo is really offering a lot of well engineered features.&lt;/p&gt;</description><link>http://someclosure.com/post/1620133145</link><guid>http://someclosure.com/post/1620133145</guid><pubDate>Mon, 11 Aug 2008 13:57:00 -0500</pubDate></item><item><title>Criticism of Standards Bodies and CSS</title><description>&lt;a href="http://alex.dojotoolkit.org/?p=712"&gt;Criticism of Standards Bodies and CSS&lt;/a&gt;: &lt;p&gt;Alex Russell:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“On this point the essay also contains a rhetorical bait-and-switch which I find distasteful: it dismisses variables because they don’t inherently do anything to reduce the lengths of pages (true!) and then argues against macros and inheritance because they create levels of indirection which can be confusing. Inheritance and macro definitions can play a key role in drastically reducing the length of style sheets. In this way, they promote understanding through exactly the same ‘memory effect’ mechanism that is cited as a liability when discussing variables.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I love the way that Alex has so calmly ripped apart the half-hearted arguments that have been a more an more frequent occurrence from members of standards bodies.&lt;/p&gt;
&lt;p&gt;Lately, I’ve been amazed by some of the attitudes arising from people that aren’t “in the trenches” of web development, but still feel like they have something of a valid opinion to offer. I appreciate that we have people like David Flannagan have &lt;a href="http://www.davidflanagan.com/blog/2008_07.html" target="_blank"&gt;reached out&lt;/a&gt; to the community, acknowledging that although they have a deep technical knowledge of a subject, they can be out of touch with its actual use. There needs to be more of this.&lt;/p&gt;</description><link>http://someclosure.com/post/1620134022</link><guid>http://someclosure.com/post/1620134022</guid><pubDate>Mon, 11 Aug 2008 11:48:00 -0500</pubDate></item><item><title>I discovered the Open Directory Project</title><description>&lt;a href="http://www.dmoz.org/Computers/Programming/Languages/JavaScript/Personal_Pages/"&gt;I discovered the Open Directory Project&lt;/a&gt;: &lt;p&gt;While reading about search engine optimization, I found out that Google factors this site in when doing ranking. I then found the JavaScript developers personal pages category. Lots of good names on there, I encourage you to add yours as well!&lt;/p&gt;</description><link>http://someclosure.com/post/1620134385</link><guid>http://someclosure.com/post/1620134385</guid><pubDate>Mon, 11 Aug 2008 10:07:00 -0500</pubDate></item><item><title>XD authentication in JavaScript</title><description>&lt;a href="http://www.sitepen.com/blog/2008/07/30/protected-cross-domain-authentication-with-javascript/"&gt;XD authentication in JavaScript&lt;/a&gt;: &lt;p&gt;Me:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“All the security policies that browser enforces remain in effect using this technique. In fact, the only data that gets exchanged between the two sites involved in the transaction is the data that each site &lt;b&gt;explicitly&lt;/b&gt; assigns to what is technically nothing more than a shared variable.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I wrote this article after getting a little frustrated at how complicated authentication schemes are in JavaScript. The library is tiny, and can be used by any site that wants to provide JavaScript access to their API.&lt;/p&gt;</description><link>http://someclosure.com/post/1620134805</link><guid>http://someclosure.com/post/1620134805</guid><pubDate>Mon, 04 Aug 2008 18:05:00 -0500</pubDate></item><item><title>Persistence of Class-Based OO in JavaScript</title><description>&lt;a href="http://www.davidflanagan.com/blog/2008_07.html#000162"&gt;Persistence of Class-Based OO in JavaScript&lt;/a&gt;: &lt;p&gt;David Flanagan:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Class() — a utility function for defining JavaScript classes.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yet another attempt at treating JavaScript as something that it’s not. The &lt;a href="http://www.davidflanagan.com/mt/mt-comments.cgi?entry_id=162" target="_blank"&gt;comments&lt;/a&gt; are worth reading even moreso than the article. I’m hoping that we’ll be able to get away from some of the current attitudes that stand opposed to really great functional programming, and I have some ideas in the works that I hope will help.&lt;/p&gt;</description><link>http://someclosure.com/post/1620135513</link><guid>http://someclosure.com/post/1620135513</guid><pubDate>Mon, 04 Aug 2008 17:55:00 -0500</pubDate></item><item><title>In-browser development tools</title><description>&lt;a href="http://www.sitepoint.com/blogs/2008/06/17/in-browser-development-tools-firebug-still-king/"&gt;In-browser development tools&lt;/a&gt;: &lt;p&gt;Kevin Yank:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Every major browser has introduced new development tools that make it easier to diagnose problems with your HTML, CSS, and JavaScript code right inside the browser in question.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’m really excited to see some of the stuff coming up in Safari. A good overview for those of you that aren’t experienced with all the options out there.&lt;/p&gt;</description><link>http://someclosure.com/post/1620138057</link><guid>http://someclosure.com/post/1620138057</guid><pubDate>Mon, 04 Aug 2008 11:00:00 -0500</pubDate></item><item><title>JavaScript Challenge</title><description>&lt;a href="http://blog.tableton.org/?p=3"&gt;JavaScript Challenge&lt;/a&gt;: &lt;blockquote&gt;
&lt;p&gt;“I was explaining functions in JS to a friend and got realized that it’s a really great language with its flexibility, closures, anonymous functions, first-class functions etc. Even the stupid idea that you can write a function by calling it an unlimited number of times is simply amazing.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Fun little challenge&lt;/p&gt;</description><link>http://someclosure.com/post/1620138493</link><guid>http://someclosure.com/post/1620138493</guid><pubDate>Wed, 16 Jul 2008 11:00:00 -0500</pubDate></item><item><title>People are dumb</title><description>&lt;a href="http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/"&gt;People are dumb&lt;/a&gt;: &lt;p&gt;Kevin Yank:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“But here’s where things get interesting: some of the libraries, like jQuery, have added support for a whole bunch of extra selectors on top of those provided by the CSS specs, while others, like Dojo, have stuck to supporting standard CSS selectors only.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So the article is a pretty average overview of the idea of the forward-looking API. What is so awful about this article are the comments. Most of them are either nit-picking, and many show a complete lack of understanding about the point the author was trying to make. It disappoints me.&lt;/p&gt;</description><link>http://someclosure.com/post/1620139390</link><guid>http://someclosure.com/post/1620139390</guid><pubDate>Sat, 10 May 2008 10:50:00 -0500</pubDate></item><item><title>A New Look For Zebra Striped Tables</title><description>&lt;a href="http://design-desires.co.uk/zebrastriped/"&gt;A New Look For Zebra Striped Tables&lt;/a&gt;: &lt;p&gt;Christian Piper:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“After reading A List Apart’s article about if zebra striping (&lt;a href="http://www.alistapart.com/articles/zebrastripingdoesithelp" target="_blank"&gt;Link&lt;/a&gt;) makes any significant impact on speed/accessibility, I thought I would knock a quick demo up of taking zebra striping a step further using the mouseover event of jQuery, to me this appears to speed up scanning of the data.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I was hoping someone would come up with some ideas after that article. And this is a pretty neat solution. I think something like this, combined with something like Dojo’s FishEyeLite would kick some serious tail.&lt;/p&gt;</description><link>http://someclosure.com/post/1620141125</link><guid>http://someclosure.com/post/1620141125</guid><pubDate>Fri, 09 May 2008 16:55:00 -0500</pubDate></item><item><title>Noticing the differences between JS libraries</title><description>&lt;a href="http://www.barneyb.com/barneyblog/2008/05/07/prototype-and-jquery/"&gt;Noticing the differences between JS libraries&lt;/a&gt;: &lt;p&gt;Barney Boisvert:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“jQuery seems to make you work harder to type less code, while Prototype seems to cost you a few more characters for a bit less density.  With the exception of Prototype’s class support, their feature sets are fairly equivalent”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Some great insight into the relative tradeoffs of two different JavaScript libraries. I enjoy to read a post from someone that didn’t drink the Kool-aid when it comes to jQuery who sees the lack of functionality, reliance on third-party libraries, the danger of node-bloom, and the pain of state management as a tradeoff rather than a feature.&lt;/p&gt;</description><link>http://someclosure.com/post/1620141685</link><guid>http://someclosure.com/post/1620141685</guid><pubDate>Thu, 08 May 2008 14:15:00 -0500</pubDate></item><item><title>On the difficulty of programming</title><description>&lt;a href="http://kawagner.blogspot.com/2008/05/whats-makes-programming-so-difficult.html"&gt;On the difficulty of programming&lt;/a&gt;: &lt;p&gt;Karsten Wagner:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Bad programmers aren’t able to really understand the problem in all it’s details. Because of this they tend to ‘emulate’ or ‘simulate’ it step by step (for example by looking how a human solves the problems the program should do and than writing a program which does it similar). But simulation isn’t the same as creating a solution based on thorough understanding.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is my new go-to resource for explaining the idea of good/bad programmers. It’s a very short, very accurate explanation.&lt;/p&gt;</description><link>http://someclosure.com/post/1620142284</link><guid>http://someclosure.com/post/1620142284</guid><pubDate>Wed, 07 May 2008 23:56:00 -0500</pubDate></item><item><title>Prototype Creation</title><description>&lt;a href="http://webreflection.blogspot.com/2008/04/natural-javascript-private-methods.html"&gt;Prototype Creation&lt;/a&gt;: &lt;p&gt;Andrea Giammarchi:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“What we have to do each time is to remember that when we need a private method, with our instance injected scope, we have to write in an unnatural way.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While Andrea is one of the worst writers on JavaScript I’ve ever read, and his code is almost always wrong in so many ways, he does have some fun ideas.&lt;/p&gt;
&lt;p&gt;We use this method he proposes all the time in Dojo to create constructors, yet we haven’t thought to do this with Prototypes. I’m excited to mess around with the possibilities.&lt;/p&gt;</description><link>http://someclosure.com/post/1620142600</link><guid>http://someclosure.com/post/1620142600</guid><pubDate>Tue, 08 Apr 2008 10:10:00 -0500</pubDate></item><item><title>Great Dojo write-up</title><description>&lt;a href="http://www.computerweekly.com/Articles/2008/03/26/229983/hot-skills-dojo-encourages-ajax-innovation.htm"&gt;Great Dojo write-up&lt;/a&gt;: &lt;p&gt;Nick Langley:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“For those who want access to a comprehensive and proven Javascript library, Dojo combines a large open source community with the backing of IBM and Sun, among others.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I’m really impressed by how much this short article gets right. Very little of the commentary on these toolkits actually know the purpose or history of any of them, so this sort of thing is nice.&lt;/p&gt;</description><link>http://someclosure.com/post/1620143219</link><guid>http://someclosure.com/post/1620143219</guid><pubDate>Wed, 26 Mar 2008 10:53:00 -0500</pubDate></item></channel></rss>

