<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Disqus - Friends of evangineer</title><link>http://disqus.com/by/evangineer/</link><description></description><atom:link href="http://disqus.com/evangineer/friends.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Wed, 11 Mar 2009 10:11:34 -0000</lastBuildDate><item><title>Re: Am I Bored With “Web 2.0”?</title><link>(u'http://avc.com/2008/06/am-i-bored-with/',%20729698L)#comment-729698</link><description>&lt;p&gt;If you are bored with Web 2.0, perhaps I can interest you in Web 4.0 -- a Web 4 the people by the people ;p&lt;/p&gt;&lt;p&gt;Jokes aside, it really is needed. As Umair and you point out, the potential of the Web needs to be focussed upon the *real* problems that we all face.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Mon, 23 Jun 2008 08:50:08 -0000</pubDate></item><item><title>Re: Migrating Disqus to a new domain</title><link>('https://disqus.com/home/discussion/disqus/migrating_disqus_to_a_new_domain/',%202654495L)#comment-2654495</link><description>&lt;p&gt;Btw, I used the &lt;a href="http://tav.espians.com" rel="nofollow noopener" target="_blank" title="tav.espians.com"&gt;tav.espians.com&lt;/a&gt; url above as I can set it up to be a true permalink as opposed to the various &lt;a href="http://googlecode.com" rel="nofollow noopener" target="_blank" title="googlecode.com"&gt;googlecode.com&lt;/a&gt; urls -- which are likely to change with time.&lt;/p&gt;&lt;p&gt;-- &lt;br&gt;Thanks again, tav&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Sat, 27 Sep 2008 00:50:51 -0000</pubDate></item><item><title>Re: Touch Society</title><link>(u'http://blog.turnupthecourage.com/touch-society.html',%203357089L)#comment-3357089</link><description>&lt;p&gt;Hello Sofia!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Tue, 28 Oct 2008 23:17:41 -0000</pubDate></item><item><title>Re: F.I.A.S.C.O. 2008 &amp;mdash; Confessions of an Autodidactic Evangineer</title><link>(u'http://evangineer.agoraworx.com/blog/2008-11-04-f-i-a-s-c-o-2008.html',%203628411L)#comment-3628411</link><description>&lt;p&gt;I agree that reform of the credit rating agencies are very much needed. But, as we've spoken before, I wonder whether less regulation wouldn't have more of a positive impact.&lt;/p&gt;&lt;p&gt;The real fundamental problem here isn't regulation, but transparency and understanding. The problem with the unfortunate "widow and orphans" in your example above is that they weren't able to get some proper second opinions.&lt;/p&gt;&lt;p&gt;Punters get ripped off every day and in every sector, despite high levels of regulation...&lt;/p&gt;&lt;p&gt;Would you agree that transparency would be a better solution than regulation?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Sat, 08 Nov 2008 18:07:51 -0000</pubDate></item><item><title>Re: Video &amp;#8211; Taleb and Mandebrot on the Credit Crunch &amp;mdash; Confessions of an Autodidactic Evangineer</title><link>(u'http://evangineer.agoraworx.com/blog/2008-11-04-video-taleb-and-mandebrot-on-the-credit-crunch.html',%203628419L)#comment-3628419</link><description>&lt;p&gt;Nice video -- we should get in touch with those two!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Sat, 08 Nov 2008 18:08:38 -0000</pubDate></item><item><title>Re: How's longurlplease doing so far?</title><link>(u'http://longurlplease.blogspot.com/2009/01/hows-longurlplease-doing-so-far.html',%205377617L)#comment-5377617</link><description>&lt;p&gt;Thanks for longurlplease. I plan on incorporating it (via the API) in a bookmarklet for Twitter.&lt;/p&gt;&lt;p&gt;Please let me know @tav if that would be okay -- don't want to cost you a lot of money if the bookmarklet becomes popular at all...&lt;/p&gt;&lt;p&gt;Thanks!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Mon, 19 Jan 2009 19:03:33 -0000</pubDate></item><item><title>Re: git ready &amp;raquo; piecemeal staging</title><link>(u'http://gitready.com/advanced/2009/01/15/piecemeal-staging.html',%205411400L)#comment-5411400</link><description>&lt;p&gt;Not sure if you guys understand what "no pun intended" actually means... but, great tips!!&lt;/p&gt;&lt;p&gt;Please keep them coming. Whilst the git man pages are nice, it's much easier to discover useful features through practical tips like yours. Thanks!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Tue, 20 Jan 2009 20:48:57 -0000</pubDate></item><item><title>Re: A Challenge To Break Python Security</title><link>(u'http://www.asktav.com/a-challenge-to-break-python-security.html',%206533838L)#comment-6533838</link><description>&lt;p&gt;Still, very nice try _Mark_ -- would be interested to know when you get some contents into that file =)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Mon, 23 Feb 2009 18:24:04 -0000</pubDate></item><item><title>Re: A Challenge To Break Python Security</title><link>(u'http://www.asktav.com/a-challenge-to-break-python-security.html',%206536039L)#comment-6536039</link><description>&lt;p&gt;Yup!&lt;/p&gt;&lt;p&gt;And once we've got a comprehensive list of known exploits, work can finally begin on that front.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Mon, 23 Feb 2009 20:27:13 -0000</pubDate></item><item><title>Re: A Challenge To Break Python Security</title><link>(u'http://www.asktav.com/a-challenge-to-break-python-security.html',%206557608L)#comment-6557608</link><description>&lt;p&gt;@Anon&lt;/p&gt;&lt;p&gt;Yeah, I had the same problem with Blogger -- its captcha service was buggered in Firefox -- even when trying to post as a Blogger user. I tried with Safari and it worked fine...&lt;/p&gt;&lt;p&gt;As for removing ``compile``, I'd really be interested to know your thoughts/justification... it is the approach that I've currently gone for [since it was the simplest to implement] -- but I am not totally sure about it.&lt;/p&gt;&lt;p&gt;If someone can somehow get at a Code object, then they can still exploit it. I'm looking through the Python source code to see where else code objects are returned from -- the obvious places like FunctionType.func_code and GeneratorType.gi_code have already been removed... would be good to know for sure =)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Tue, 24 Feb 2009 04:33:56 -0000</pubDate></item><item><title>Re: A Challenge To Break Python Security</title><link>(u'http://www.asktav.com/a-challenge-to-break-python-security.html',%206576022L)#comment-6576022</link><description>&lt;p&gt;Have you seen Paul Cannon's exploit?&lt;/p&gt;&lt;p&gt;He constructed a nifty function with custom bytecode which was able to grab traceback objects off of the&lt;br&gt;stack...&lt;/p&gt;&lt;p&gt;I summarised it in this post to Python-Dev: &lt;a href="http://mail.python.org/pipermail/python-dev/2009-February/086438.html" rel="nofollow noopener" target="_blank" title="http://mail.python.org/pipermail/python-dev/2009-February/086438.html"&gt;http://mail.python.org/pipe...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Paul has also written a detailed blog post on: &lt;a href="http://thepaulprog.blogspot.com/2009/02/safelite-exploit.html" rel="nofollow noopener" target="_blank" title="http://thepaulprog.blogspot.com/2009/02/safelite-exploit.html"&gt;http://thepaulprog.blogspot...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Tue, 24 Feb 2009 14:04:59 -0000</pubDate></item><item><title>Re: TweetFight -- Fight Club 2.0</title><link>(u'http://www.asktav.com/tweetfight.html',%206841456L)#comment-6841456</link><description>&lt;p&gt;Yup, that will definitely be the most difficult aspect. But the internet is full of great fights -- check out YouTube or open source dev lists...&lt;/p&gt;&lt;p&gt;I'm predicting slow and steady uptake for this -- the most valuable thing it does is provides an easy way of capturing a conversation between two people.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Tue, 03 Mar 2009 11:53:53 -0000</pubDate></item><item><title>Re: Paving the Way to Securing the Python Interpreter</title><link>(u'http://www.asktav.com/paving-the-way-to-securing-the-python-interpreter.html',%206841585L)#comment-6841585</link><description>&lt;p&gt;Thanks Marius. Yes, this is dealing with a related but separate problem altogether.&lt;/p&gt;&lt;p&gt;For that, as I state at the start of the article, I'd recommend looking at PyPy's sandboxed interpreter -- &lt;a href="http://codespeak.net/pypy/dist/pypy/doc/sandbox.html" rel="nofollow noopener" target="_blank" title="http://codespeak.net/pypy/dist/pypy/doc/sandbox.html"&gt;http://codespeak.net/pypy/d...&lt;/a&gt; -- or Google's open source NaCl (Native Client) sandboxing/virtualisation technology: &lt;a href="http://code.google.com/p/nativeclient/" rel="nofollow noopener" target="_blank" title="http://code.google.com/p/nativeclient/"&gt;http://code.google.com/p/na...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Tue, 03 Mar 2009 11:59:34 -0000</pubDate></item><item><title>Re: Hello World</title><link>(u'http://thruflo.github.com/2009/03/08/hello-world.html',%206995621L)#comment-6995621</link><description>&lt;p&gt;Welcome to GitHub! What kind of open source projects are you working on? ;p&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Sun, 08 Mar 2009 12:59:38 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%206996026L)#comment-6996026</link><description>&lt;p&gt;You have a point with the mixed use of tuples -- but unfortunately the syntax of yield expressions works against us on that =(&lt;/p&gt;&lt;p&gt;As for a decorator, yes, we could do a do() decorator, I could code one up if it would help make the case better...&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Sun, 08 Mar 2009 13:22:17 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%206996080L)#comment-6996080</link><description>&lt;p&gt;Tom, it simply makes life easier.&lt;/p&gt;&lt;p&gt;I believe it could be similarly popular in the same way that @decorators have been tremendously popular despite just saving a few bytes.&lt;/p&gt;&lt;p&gt;Ruby has already proven the merits of a block syntax -- check out Rake and Rails for examples of how blocks are used to increase productivity!&lt;br&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Sun, 08 Mar 2009 13:26:58 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%206996157L)#comment-6996157</link><description>&lt;p&gt;Steven, you have a point with GOTOs and XML-as-config... *shudder*&lt;/p&gt;&lt;p&gt;But Ruby has shown that anonymous blocks can be used to improve the elegance of the code as well as increase the productivity of the developer.&lt;/p&gt;&lt;p&gt;As for testing, I don't see why such an approach precludes either testing or documentation.&lt;/p&gt;&lt;p&gt;In fact, it could make testing more pleasant than the java-inspired unittest framework we currently have.&lt;/p&gt;&lt;p&gt;See this &lt;a href="http://blog.excastle.com/2005/05/18/ruby-coolness-1-blocks/" rel="nofollow noopener" target="_blank" title="http://blog.excastle.com/2005/05/18/ruby-coolness-1-blocks/"&gt;http://blog.excastle.com/20...&lt;/a&gt; for&lt;/p&gt;&lt;p&gt;  CheckThrows(EInvalidOperation) do&lt;br&gt;    DoSomething&lt;br&gt;  end&lt;/p&gt;&lt;p&gt;I can even see interesting ways that __do__ could be used to create nice doctests.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Sun, 08 Mar 2009 13:32:57 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%206996176L)#comment-6996176</link><description>&lt;p&gt;I'll try to find a better replacement for ``with``...&lt;/p&gt;&lt;p&gt;Suggestions from everyone very welcome!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Sun, 08 Mar 2009 13:34:34 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%206996261L)#comment-6996261</link><description>&lt;p&gt;@thebitguru this wouldn't be faster in terms of performance for the default case but will save the explicit creation of the local function as you point out&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Sun, 08 Mar 2009 13:43:17 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%207027412L)#comment-7027412</link><description>&lt;p&gt;Thanks Todd! That fits the bill quite nicely -- despite being slightly longer to type...&lt;/p&gt;&lt;p&gt;Will update this proposal now.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Mon, 09 Mar 2009 08:34:06 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%207027654L)#comment-7027654</link><description>&lt;p&gt;Thanks sjs, perhaps an accompanying decorator would help too?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Mon, 09 Mar 2009 08:47:57 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%207027761L)#comment-7027761</link><description>&lt;p&gt;Thanks for catching the mistake Mark -- fixed.&lt;/p&gt;&lt;p&gt;I agree that {} and shorter code would be better. Unfortunately I haven't been able to come with a Pythonic way of doing that.&lt;/p&gt;&lt;p&gt;This proposal was about trying to come with a Pythonic equivalent.&lt;/p&gt;&lt;p&gt;As for a better language, I agree -- and perhaps I should just do that -- there would be a lot less resistance! =)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Mon, 09 Mar 2009 08:55:47 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%207027780L)#comment-7027780</link><description>&lt;p&gt;Thanks Joeri -- fixed.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Mon, 09 Mar 2009 08:57:26 -0000</pubDate></item><item><title>Re: Ruby-style Blocks in Python</title><link>(u'http://www.asktav.com/ruby-style-blocks-in-python.html',%207032954L)#comment-7032954</link><description>&lt;p&gt;Multi-line lambdas would be nice, but one step at a time =)&lt;/p&gt;&lt;p&gt;And thanks for the blog article!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Mon, 09 Mar 2009 11:41:53 -0000</pubDate></item><item><title>Re: Update on Securing the Python Interpreter</title><link>(u'http://www.asktav.com/update-on-securing-the-python-interpreter.html',%207099447L)#comment-7099447</link><description>&lt;p&gt;Hey Mark,&lt;/p&gt;&lt;p&gt;Thank you for this!&lt;/p&gt;&lt;p&gt;Sorry that I missed the discussion on e-lang -- wasn't aware that a similar approach was being explored on there! I see both were inspired by Ka-Ping Yee's post years ago...&lt;/p&gt;&lt;p&gt;The Namespace function initially only supported the explicit:&lt;/p&gt;&lt;p&gt;  Namespace(get_x=get_x, get_y=get_y)&lt;br&gt;  Namespace(get_x, get_y) # using __name__&lt;/p&gt;&lt;p&gt;It still supports this format. But, as you rightly pointed out in that email, it quickly got tedious and I streamlined it ;p&lt;/p&gt;&lt;p&gt;By removing the implicit format the attack you show goes away... and we go back to a pure capability base. Perhaps we could start from there?&lt;/p&gt;&lt;p&gt;As for your concerns of efficiency in the email, in my C/Cython implementation of Namespace:&lt;/p&gt;&lt;p&gt;  &lt;a href="http://github.com/tav/plexnet/blob/9f2ca9505e57be8e40d64b306ab3a49112a2cd73/source/plexnet/core/_capbase.pyx" rel="nofollow noopener" target="_blank" title="http://github.com/tav/plexnet/blob/9f2ca9505e57be8e40d64b306ab3a49112a2cd73/source/plexnet/core/_capbase.pyx"&gt;http://github.com/tav/plexn...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I use a trick from the PyPy guys and share the dictionary *keys* amongst the various Namespace objects. This is still nowhere near as efficient as Python classes, but it at least saves on memory -- which could be considerable when lots of similar Namespace objects are created.&lt;/p&gt;&lt;p&gt;And speaking of PyPy, I'm increasingly tending towards using it as a showcase:&lt;/p&gt;&lt;p&gt;* Fork the Python implementation on PyPy&lt;br&gt;* Add native support for object capability and some distributed features&lt;br&gt;* Bootstrap from that point and demonstrate the viability/utility of the ideas&lt;/p&gt;&lt;p&gt;We could perhaps even take a leaf from Allen Short's C implementation of E (ecru) where he builds it as an extension type for Python -- allowing it to be bootstrapped off existing Python libraries...&lt;/p&gt;&lt;p&gt;In an ideal case, the ideas would then get folded back into mainline Python -- but failing that, we would still have a Python-esque object-capability language that should be useful on its own...&lt;/p&gt;&lt;p&gt;What do you think of this?&lt;/p&gt;&lt;p&gt;-- &lt;br&gt;Thanks again for taking the time  to share your thoughts, tav&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tav</dc:creator><pubDate>Wed, 11 Mar 2009 10:11:34 -0000</pubDate></item></channel></rss>