<?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 simeonf</title><link>http://disqus.com/by/simeonf/</link><description></description><atom:link href="http://disqus.com/simeonf/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Mon, 20 Mar 2017 16:31:57 -0000</lastBuildDate><item><title>Re: metapundit.net - Starry Night</title><link>http://metapundit.net/sections/blog/309#comment-3213952187</link><description>&lt;p&gt;So I guess you saw &lt;a href="http://metapundit.net/writing/criticizing-mike-wells" rel="nofollow noopener" target="_blank" title="http://metapundit.net/writing/criticizing-mike-wells"&gt;http://metapundit.net/writi...&lt;/a&gt; which lead to &lt;a href="http://metapundit.net/sections/mikewells" rel="nofollow noopener" target="_blank" title="http://metapundit.net/sections/mikewells"&gt;http://metapundit.net/secti...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I also had one follow-up essay at &lt;a href="http://www.metapundit.net/writing/comments-regarding-mike-wells" rel="nofollow noopener" target="_blank" title="http://www.metapundit.net/writing/comments-regarding-mike-wells"&gt;http://www.metapundit.net/w...&lt;/a&gt; where I discuss the the audience Mike has had been helpful to... and the audience that I don't think he helps at all. In various personal discussions I've had about him I remain convinced that Mike isn't unique where he was most helpful and isn't as solid where he is unique. I would personally look elsewhere for church study material...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Mon, 20 Mar 2017 16:31:57 -0000</pubDate></item><item><title>Re: Neo-Anabaptists and the Benedict Option</title><link>https://mereorthodoxy.com/neo-anabaptists-benedict-option/#comment-2442209274</link><description>&lt;p&gt;Jake I'm curious if you identify "mere christendom" as a requirement for mere orthodoxy. There sort of seems to be a running theme recently that anabaptist theology is a temptation to heresy away from... well I'm not sure what exactly. Must Christianity be a state religion? Or at least dominate culturally?&lt;/p&gt;&lt;p&gt;As an anabaptist I find the Leithart parable and the question posed funny but not exactly a stumper. What should we tell the ruler or the wolf of wall street if they repent? Jesus told the rich young ruler to sell what he had and give it to the poor - I can't see any compelling reason why this example would be invalid today.&lt;/p&gt;&lt;p&gt;I grow increasingly confused as I read the reviews on Amazon for "To Change the World" and hear that Hunter argues that three different strands of American thought have been too political and instead Christians should focus on modeling a faithful presence. The book sounds interesting and (here's my confusion) like an anabaptist critique of both conservative and progressive evangelical modes of political involvement. Jim Wallis and James Dobson have always seemed like two sides of the same coin to me.&lt;/p&gt;&lt;p&gt;Finally it seems to me that many "neo-anabaptists" are simply politically progressive christians who have imbibed the anti-violence &amp;amp; anti-empire political viewpoints and adopted a label that allows them to retain their pre-existing political convictions.&lt;/p&gt;&lt;p&gt;Historical anabaptism (eg the Schleitheim Confession or Bender's Anabaptist Vision) certainly does not define its essence as opposition to the government but instead have an ethic driven by obedience to the words of Jesus. This ethic may find itself incompatible with embracing the powers and systems of the world but it doesn't define itself by its opposition to them.&lt;/p&gt;&lt;p&gt;I like your last paragraph and certainly many historic anabaptist groups have a pessimistic "please just leave us alone to live our lives in peace" sort of mentality in relationship to the larger world around them that bears critiquing. But in turn I think a call to preach repentance even to kings is too pessimistic if it insists that the king must be able to repent without changing anything and that success would look just like the current social order except with nifty "Team Jesus" jerseys.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Wed, 06 Jan 2016 02:31:13 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-2237795908</link><description>&lt;p&gt;No no. `return inner` means to return the function itself. `return inner()` means to return the return value you get when you call the function. I want the first thing...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Sat, 05 Sep 2015 13:10:58 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-2209299620</link><description>&lt;p&gt;I am just being clear about the difference between &lt;strong&gt;parameters&lt;/strong&gt; which are part of the function definition and &lt;strong&gt;arguments&lt;/strong&gt; which are part of function calls. There are only two kinds of parameters and named parameters are always optional!&lt;/p&gt;&lt;p&gt;And there are two kinds of arguments (positional and named). But you are correct that you can pass named arguments to a positional parameter and positional arguments to a named parameter. Just because you pass by name doesn't mean that the parameter you are passing to was defined that way as your code sample shows.&lt;/p&gt;&lt;p&gt;Another similar disjunction is the &lt;strong&gt;*&lt;/strong&gt; and &lt;strong&gt;**&lt;/strong&gt; operators. Just because a function is defined with &lt;strong&gt;*args&lt;/strong&gt; doesn't mean you have to call it that way - and you can call a function with positional argument unpacking even though it was defined with named parameters...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Sat, 22 Aug 2015 19:54:38 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1969498677</link><description>&lt;p&gt;Crucial distinction here: do you see the difference between `return inner` and `return inner()`?&lt;/p&gt;&lt;p&gt;The first returns the function value itself. The second returns the result of the function after invoking it. We're doing the first thing. So the function definition was run but we have *never called the function* so the body hasn't run.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Wed, 15 Apr 2015 16:57:31 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1967331220</link><description>&lt;p&gt;It's true - the *definition* of the inner function does happen. But not the execution of inner. You could think of it this way - the "def inner():" line has run to make a function value and parse out its expected arguments. But the body of inner has not executed at the time the "outer" function returns.&lt;/p&gt;&lt;p&gt;Try it yourself in an interactive console! &lt;a href="https://trinket.io/library/trinkets/b8c0b71535" rel="nofollow noopener" target="_blank" title="https://trinket.io/library/trinkets/b8c0b71535"&gt;https://trinket.io/library/...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I really ought to redo this material with embedded consoles for the code blocks.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Tue, 14 Apr 2015 14:16:07 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1967172754</link><description>&lt;p&gt;Look carefully at the return statement. It says: "return inner" - sans the parentheses that serve as the call operator. We aren't callng inner and returning whatever it returns, we are returning the function itself and it isn't called until later.&lt;/p&gt;&lt;p&gt;Does that clarify?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Tue, 14 Apr 2015 13:27:10 -0000</pubDate></item><item><title>Re: Art of Manliness x Huckberry Holiday Gift Shops for Men and Women (+ Giveaway) | The Art of Manliness</title><link>http://www.artofmanliness.com/2014/11/24/art-of-manliness-x-huckberry-holiday-gift-shops-for-men-and-women-giveaway-2/#comment-1716093658</link><description>&lt;p&gt;And my wife will take the Lima Leather Clutch :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Thu, 27 Nov 2014 22:55:36 -0000</pubDate></item><item><title>Re: Art of Manliness x Huckberry Holiday Gift Shops for Men and Women (+ Giveaway) | The Art of Manliness</title><link>http://www.artofmanliness.com/2014/11/24/art-of-manliness-x-huckberry-holiday-gift-shops-for-men-and-women-giveaway-2/#comment-1716092177</link><description>&lt;p&gt;I would like the Go-Ruck from the men's shop.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Thu, 27 Nov 2014 22:52:53 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1655186231</link><description>&lt;p&gt;Yup. If you do object oriented programming in Python you might use @classmethod, @staticmethod and especially @property. All built in.&lt;/p&gt;&lt;p&gt;Also the functools module has @wraps which is a decorator that's helpful when writing decorators! (How meta is that?) And @total_ordering which is a decorator that modifies a class.&lt;/p&gt;&lt;p&gt;Let's see - there's also contextlib which contains @contextmanager - a decorator to transform your function into a context manager (the thing that enables the "with" statement in Python).  Did I miss any?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Sun, 26 Oct 2014 21:10:50 -0000</pubDate></item><item><title>Re: The Weekly Huckberry Giveaway: August 8, 2014 | The Art of Manliness</title><link>http://www.artofmanliness.com/2014/08/08/the-weekly-huckberry-giveaway-august-8-2014/#comment-1535781568</link><description>&lt;p&gt;33" Ankara Straight Leg please&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Sun, 10 Aug 2014 02:29:55 -0000</pubDate></item><item><title>Re: Blog :: Python 3 Panel Discussion: Good idea?</title><link>http://simeonfranklin.com/blog/2014/jan/26/python-3-panel-discussion-good-idea/#comment-1220371668</link><description>&lt;p&gt;Thanks Nick - you've done a great job of explaining the core-python dev thinking and approach without getting defensive. I've appreciated reading your back and forth on twitter as well as the resource above...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Tue, 28 Jan 2014 12:44:45 -0000</pubDate></item><item><title>Re: Blog :: Ask an Expert - Interlacing Strings</title><link>http://simeonfranklin.com/blog/2012/nov/2/ask-expert-interlacing-strings/#comment-1120172795</link><description>&lt;p&gt;Use a real Python. Codeskulptor is an in-the-browers implementation of a subset of Python 2. Apparently not including the functools module...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Tue, 12 Nov 2013 15:55:29 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1109893678</link><description>&lt;p&gt;I think you've got it!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Tue, 05 Nov 2013 12:41:31 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1109237534</link><description>&lt;p&gt;Look at the code at the gist - &lt;a href="https://gist.github.com/simeonf/7314067#file-closure-py" rel="nofollow noopener" target="_blank" title="https://gist.github.com/simeonf/7314067#file-closure-py"&gt;https://gist.github.com/sim...&lt;/a&gt; - this should make it clearer. On line 6 we catch the return value which is the un-run inner function. This is the whole deal - we haven't run the print statement yet!&lt;/p&gt;&lt;p&gt;Does that help? I'd be happy to do a google hangout sometime if you are still working it through...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Mon, 04 Nov 2013 23:52:49 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1108694607</link><description>&lt;p&gt;You're right that there's no difference in functionality. @wrapper is just syntactic sugar for the old style add = wrapper(add) that you mentioned. It does look nicer with arguments "@wrapper(path='/tmp')" vs "add = wrapper(path='/tmp')(add)" if that helps. I think the main win of the @ syntax is visibility. It looks like function annotation and links the location of the decoration to the the location of the thing being decorated. As a practical example:&lt;/p&gt;&lt;p&gt;You could look at a module full of django views and if they use the @login_required syntax you know immediately (say with code folding turned on or from a sublime mini-map which views are password protected and which are not.&lt;/p&gt;&lt;p&gt;On the other hand you could write the same file with a bunch of views (functions or classes) than a configuration section down at the bottom that wraps some of the views manually. Using @ syntax is more visible, it jumps out at you more to say "some of these functions work differently than others". I've personally found this a nice piece of syntactic sugar.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Mon, 04 Nov 2013 14:58:43 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1108686849</link><description>&lt;p&gt;Ashish you're exactly right actually. The problem is not a scope problem - accessing the variable x from inner is totally legal by scoping rules. The thing closures solve is typical variable lifetime rules. Notice that in step 8 our "outer" function doesn't call the "inner" function, it returns it. There are no parentheses on the last line: it's "return inner" not "return inner()"&lt;/p&gt;&lt;p&gt;What this means is that the inner function doesn't run till after the outer function is completed and returned! Does that make clear why we might not expect this to work absent closures?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Mon, 04 Nov 2013 14:52:12 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1108659165</link><description>&lt;p&gt;Thanks for the link to the alternate resource Jim.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Mon, 04 Nov 2013 14:29:23 -0000</pubDate></item><item><title>Re: simeonfranklin.com - Goodby To Marakana</title><link>http://simeonfranklin.com/blog/2013/aug/14/goodby-marakana/#comment-1050124670</link><description>&lt;p&gt;Awesome! Hope to see you one day @ Twitter University!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Wed, 18 Sep 2013 18:27:12 -0000</pubDate></item><item><title>Re: simeonfranklin.com - Goodby To Marakana</title><link>http://simeonfranklin.com/blog/2013/aug/14/goodby-marakana/#comment-1050124193</link><description>&lt;p&gt;Thanks Derrick!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Wed, 18 Sep 2013 18:26:42 -0000</pubDate></item><item><title>Re: Blog :: Higher Order Functions in Python</title><link>http://simeonfranklin.com/blog/2013/jun/17/higher-order-functions-python/#comment-1031446382</link><description>&lt;p&gt;I think you mispelled "Frist".&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Thu, 05 Sep 2013 17:52:41 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-1008609941</link><description>&lt;p&gt;Thanks for the kind words Leo!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Tue, 20 Aug 2013 17:59:57 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-961309775</link><description>&lt;p&gt;Glad you got this figured out Leslie!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Sat, 13 Jul 2013 20:29:46 -0000</pubDate></item><item><title>Re: Blog :: Understanding Python Decorators in 12 Easy Steps!</title><link>http://simeonfranklin.com/blog/2012/jul/1/python-decorators-in-12-steps/#comment-948475319</link><description>&lt;p&gt;Gregory -&lt;/p&gt;&lt;p&gt;First of all thanks for commenting and reading carefully. I really appreciate the kind words - even more so I appreciate your attention in really engaging with what I wrote. That feels very rewarding to me!&lt;/p&gt;&lt;p&gt;I think I got all the typos you mentioned - thank you for being a careful reader! I credited you in the update :)&lt;/p&gt;&lt;p&gt;Finally your question: why if I've got a decorator printing off *args and **kwargs and I call a function with a default value don't I see it in kwargs? The answer is the parameter has the default value - args and kwargs are looking at the things passed to the function. It's true that inside the decorated function y will have the value 1 because that's the default value. But it would be a lie to say that 'y' was passed to the function as an argument - and of course the decorator doesn't even know about the existence of the parameter y in the function its decorating at all! Does that help?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Mon, 01 Jul 2013 19:06:05 -0000</pubDate></item><item><title>Re: simeonfranklin.com - 
     Yes, that's me, Python Expert</title><link>http://simeonfranklin.com/blog/2012/feb/14/thats-me-python-expert/#comment-938261223</link><description>&lt;p&gt;Not that kind of Python expert! I teach a programming language called Python but sadly know nothing about the care and feeding of snakes...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">simeon</dc:creator><pubDate>Fri, 21 Jun 2013 23:43:48 -0000</pubDate></item></channel></rss>