<?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 dnene</title><link>http://disqus.com/by/dnene/</link><description></description><atom:link href="http://disqus.com/dnene/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Tue, 07 Jan 2014 22:46:58 -0000</lastBuildDate><item><title>Re: Configuring a secure Ubuntu Linux Virtual Private Server</title><link>http://blog.dhananjaynene.com/2009/10/configuring-a-secure-ubuntu-linux-virtual-private-server/#comment-1191646305</link><description>&lt;p&gt;It probably will be in /etc/apache2/conf-available as security.conf. Request you to study the documentation of your current version and adapt accordingly. It will not be feasible to guide you through each step given many versions might have changed since the long time ago  this blog post was written.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Tue, 07 Jan 2014 22:46:58 -0000</pubDate></item><item><title>Re: /var/log/mind</title><link>http://blog.dhananjaynene.com/2013/10/have-we-misunderstood-dvcs-git-hg/#comment-1069879307</link><description>&lt;p&gt;I am afraid I am not entirely sure how this will play out in an overall business context, though I grant one could pull it off. Notions like an elected origin (especially where the origin may not have remained current with the earlier disconnected origin) are likely to be hard ones to address.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Fri, 04 Oct 2013 01:45:16 -0000</pubDate></item><item><title>Re: /var/log/mind</title><link>http://blog.dhananjaynene.com/2013/10/have-we-misunderstood-dvcs-git-hg/#comment-1069878364</link><description>&lt;p&gt;Thanks for that link. It is a useful addition.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Fri, 04 Oct 2013 01:43:12 -0000</pubDate></item><item><title>Re: Configuring a secure Ubuntu Linux Virtual Private Server</title><link>http://blog.dhananjaynene.com/2009/10/configuring-a-secure-ubuntu-linux-virtual-private-server/#comment-1050416339</link><description>&lt;p&gt;This tutorial was written a long time ago. I continue to apply similar steps on my ubuntu boxes. It should largely hold true. But I haven't tested this tutorial  specifically with 12.04.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Wed, 18 Sep 2013 22:41:09 -0000</pubDate></item><item><title>Re: Exploring Java8 Lambdas. Part 1</title><link>http://blog.dhananjaynene.com/2013/02/exploring-java-8-lambdas-part-1/#comment-813362672</link><description>&lt;p&gt;I think python, ruby and many other languages have had lambdas for a long time and aren't as averse to breaking backward compatibility. I think the current structure is as a result of not changing much in an existing language and yet managing a substantial feature introduction (and also keep options open for more features in the future). The interesting part is that they've managed this without substantially impacting the Collections API, an API which was hardly designed for this scenario. In fact with scala you can just do &lt;/p&gt;&lt;p&gt;List("Larry", "Moe", "Curly") map ("Hello " + _ )&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Tue, 26 Feb 2013 16:53:33 -0000</pubDate></item><item><title>Re: The inverse of IoC is Control - Comoyo Engineering</title><link>http://comoyo.github.com/blog/2013/02/06/the-inverse-of-ioc-is-control/#comment-793533352</link><description>&lt;p&gt;I think one of the places I have found non code configuration useful is in product implementations. Different installations of the same product can configure many parameters differently based on local considerations without requiring an on site recompilation.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Fri, 08 Feb 2013 18:25:48 -0000</pubDate></item><item><title>Re: Clojure/core — (take 5 baishampayan-ghose)</title><link>http://clojure.com/blog/2012/03/16/take5-baishampayan-ghose.html#comment-468351593</link><description>&lt;p&gt;I've worked with BG on various tech events and have seen his commitment to spreading tech knowledge in general and clojure in particular, and thats very respect worthy. Working with a language not frequently used always creates its own challenges and joys. and to the limited extent, I've seen their products, they've been confidence inspiring.&lt;/p&gt;&lt;p&gt;Some of the comments here are disappointing, off topic, and tenuous innuendos. Really unworthy of further comment.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Sun, 18 Mar 2012 10:16:12 -0000</pubDate></item><item><title>Re: Why OSGi? Or why not using it makes your JVM runtime unsafe.</title><link>http://blog.dhananjaynene.com/2012/02/why-osgi-or-why-not-using-it-makes-your-jvm-runtime-unsafe./#comment-442489512</link><description>&lt;p&gt;No, it is not about encoding the dependencies in .poms as opposed to .jars. The reason they are in .jars I suspect is because the class loaders anyway access these jars and thus make use of metadata in them rather than opening up alien pom files. Its probably just a tactical call.&lt;/p&gt;&lt;p&gt;One would've imagined tools such as Maven/Ivy would've resolved this problem. But as I started using OSGi, i learnt there is often a long list of transitive dependencies, not all of them necessarily playing by the same rules. Some of them contain a breadth of features, many of which are not relevant to typical users. So such jars do not end up documenting the transitive dependencies required to support less used features, since they will not be required by most users. But there is no information left behind to indicate the optional use cases where additional jars will be required.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Fri, 17 Feb 2012 04:10:03 -0000</pubDate></item><item><title>Re: One Div Zero: Too Dense?</title><link>http://james-iry.blogspot.com/2012/02/too-dense.html#comment-441554897</link><description>&lt;p&gt;Regexes themselves are a class of compaction of information which requires the programmer to disassemble it in his mind. Even as they attempt to solve another problem of compaction (often created by a non programmer), that of compacting multiple pieces of information into one string.&lt;/p&gt;&lt;p&gt;But it really comes down to the fixed cost of learning the method of compaction and unraveling. I spent the time attempting to understand regexes early on and that helped a lot. And the same is true about many of the dense functional expressions as well. Learn them well, and they are easy to work with.&lt;/p&gt;&lt;p&gt;The issue really is not with dense code. It is with "learn it well". There are 100 things that compete for a programmers learning attention. For some it is important to learn it well and then deal with it competently. Some find it not so important given other competing priorities and choose to learn just enough to move on. &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Thu, 16 Feb 2012 23:00:44 -0000</pubDate></item><item><title>Re: Scala needs terraces</title><link>http://blog.dhananjaynene.com/2012/01/scala-needs-terraces/#comment-442489478</link><description>&lt;p&gt;Perhaps these are two different ways of looking at it. But I never perceived these as different languages. Just a "compilation profile" if I may use such a word, which allows a subset of language to be leveraged. Yes, a beginner may get an error/warning with regards to some code constructs, but compared to the amount of cognitive effort a scala programmer would normally incur during programming, this seems like a pittance.&lt;/p&gt;&lt;p&gt;Having said that I of course do not mean to contest your disagreement. I'm sure there are good reasons each one of us might feel differently.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Thu, 12 Jan 2012 11:26:24 -0000</pubDate></item><item><title>Re: Scala needs terraces</title><link>http://blog.dhananjaynene.com/2012/01/scala-needs-terraces/#comment-442489462</link><description>&lt;p&gt;There are organisations which control and teams who self manage. I believe self managing teams could be better served by some tooling support. Organisations which tend to control, are more likely to issue diktat's anyways (I've seen a few coding standards in the past which suggested "thou shalt not ..." even when there was no tooling support). So yes, what you say is a valid point, but I suspect that we'll see good applications and bad applications of the feature, in some cases even if tooling support was not offered.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Thu, 12 Jan 2012 06:47:07 -0000</pubDate></item><item><title>Re: Scala needs terraces</title><link>http://blog.dhananjaynene.com/2012/01/scala-needs-terraces/#comment-442489449</link><description>&lt;p&gt;Fair Point. Compiler switches would tend to absolutely classify important language characteristics, whereas terrace identification could be driven by evolving needs.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Thu, 12 Jan 2012 02:12:05 -0000</pubDate></item><item><title>Re: http://blog.vivekhaldar.com/post/4525315474</title><link>http://blog.vivekhaldar.com/post/4525315474#comment-395874685</link><description>&lt;p&gt;I'm afraid, I find it hard to agree with your central premise - that of OOP favouring immutability. Both the paragraphs you quote refer to "not messing with the internal state" which is completely different from immutability. (incidentally, I had to hunt for the second paragraph in your blockquote, which I eventually found in section IV of the same paper)&lt;/p&gt;&lt;p&gt;I would recommend you to read a much clearer enunciation by Dr. Alan Kay about his thoughts on OOP here : &lt;a href="http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en" rel="nofollow noopener" target="_blank" title="http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay_oop_en"&gt;http://userpage.fu-berlin.d...&lt;/a&gt; Again, you are unlikely to  find a focus on immutability.  In fact to quote from the same,&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Clearly, hiding of state has more to do with encapsulation than immutability.&lt;/p&gt;&lt;p&gt;In addition even assuming for a moment that OOP favoured immutability, the leap into wondering whether OOP == FP, also seems to be quite bold. There are other aspects of FP, eg. functions being first class entities, higher order functions, or composition etc. which make FP not just a immutable OOP.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Wed, 28 Dec 2011 13:12:48 -0000</pubDate></item><item><title>Re: My Reasons for Leaving .NET</title><link>http://hkarthik.me/my-reasons-for-leaving-net#comment-363096337</link><description>&lt;p&gt;Good for you, you're going to be doing something you enjoy more.  The best wishes for your career shift.&lt;/p&gt;&lt;p&gt;What surprises me is that you did not chose to call this post "My Reasons for Adopting Ruby / Mac / Unix / Hacker Culture".&lt;/p&gt;&lt;p&gt;What also surprises me is that if you believe you have the ability to take on Node.js, Scala, Clojure, iOS, and Android. going forward as you've mentioned, why would you want to "leave" .NET especially since continuing to leverage all that you've learnt with .NET will only be of assistance.&lt;/p&gt;&lt;p&gt;Or are you concerned about the amount of effort it takes to learn Ruby that it will be impractical to retain your accumulated .NET knowledge or keep updated with the .NET happenings? If yes, it would be important to consider that many of Scala, Clojure, iOS, node.js etc. are only likely to involve far more investment to learn than Ruby ever did. And would you then want to leave Ruby to join Scala, leave Scala to join Clojure .... ? &lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Mon, 14 Nov 2011 16:31:08 -0000</pubDate></item><item><title>Re: http://blog.vivekhaldar.com/post/11570467259</title><link>http://blog.vivekhaldar.com/post/11570467259#comment-338370794</link><description>&lt;p&gt;If a software is fast enough with slow disks, shouldn't it be fast enough with fast disks?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Tue, 18 Oct 2011 14:32:46 -0000</pubDate></item><item><title>Re: SIP-12 - Uncluttering Scala’s syntax for control structures. -</title><link>http://scala.github.com/sips/pending/uncluttering-control.html#comment-334612012</link><description>&lt;p&gt;Could you consider changing "for x &amp;lt;- 1 to 10" to "for x in 1 to 10", or "x &amp;lt;- 0 until N" to "x in 0 until N". Keeps to the spirit of uncluttering, and minimises the imposition on the cognitive effort invested by the reader.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Fri, 14 Oct 2011 09:31:35 -0000</pubDate></item><item><title>Re: Which risk would you manage? What would you want to prove? Programming Languages and Type Systems</title><link>http://blog.dhananjaynene.com/2011/10/which-risk-would-you-manage-what-would-you-want-to-prove-programming-languages-and-type-systems/#comment-442489211</link><description>&lt;p&gt;Olle,&lt;/p&gt;&lt;p&gt;I've no experience with Perl, but I would think a python code base can remain useful for long even as one becomes a big player. My thought is that the maintainability of larger code bases has far more to do with appropriate refactoring being conducted at each stage as the code grows, than with the nature of language typing.&lt;/p&gt;&lt;p&gt;There exist large, well maintained python projects (eg. Django / SQLAlchemy etc.).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Wed, 12 Oct 2011 04:26:19 -0000</pubDate></item><item><title>Re: Contrasting Performance : Languages, styles and VMs &amp;#8211; Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript</title><link>http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/#comment-442490132</link><description>&lt;p&gt;Agreed. Like any exercise the process needs to be consistent with the objectives, and there could be multiple ways of approaching the same.&lt;/p&gt;&lt;p&gt;=== a futile exercise by excessively aggressive (ie. code one would not write under reasonable situations) code&lt;/p&gt;&lt;p&gt;If I could make a statement objectively on that count, there is some likelihood this post would not have stood retracted. In the spirit of that retraction, it does not make sense for me to open up a topic in the comments that I closed out in the main body.&lt;/p&gt;&lt;p&gt;Having said that the comment could also be considered to be applicable to contexts outside this blog post.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Mon, 29 Aug 2011 07:08:06 -0000</pubDate></item><item><title>Re: Contrasting Performance : Languages, styles and VMs &amp;#8211; Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript</title><link>http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/#comment-442490129</link><description>&lt;p&gt;I'm afraid I do not agree. And quite strongly too. I suspect it might be best to leave it at that as a difference in views.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Mon, 29 Aug 2011 06:30:56 -0000</pubDate></item><item><title>Re: Contrasting Performance : Languages, styles and VMs &amp;#8211; Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript</title><link>http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/#comment-442490125</link><description>&lt;p&gt;Seems to me we're now going in circles. So there's probably some incomplete communication.&lt;/p&gt;&lt;p&gt;=== But we’re talking about user code implemented in Java, and Java library code implemented in Java – the same level. ===&lt;/p&gt;&lt;p&gt;I'm talking about coding styles implemented consistently across languages - not java alone, not cPython alone, not PyPy alone, not another language alone. I'm certain that I find the distinctions in performance based on the different coding styles useful and relevant, and think I'm better off because of the same. I'm also certain that I did not consider per language coding style selection, as much as I selected a portfolio across them.&lt;/p&gt;&lt;p&gt;At this point, I am unable to respond intelligently since, to the extent I've understood your points, I believe I've responded to them, and any attempts to respond will simply result in a restatement. So the gap probably lies in something we are unable to communicate.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Mon, 29 Aug 2011 06:18:36 -0000</pubDate></item><item><title>Re: Contrasting Performance : Languages, styles and VMs &amp;#8211; Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript</title><link>http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/#comment-442490123</link><description>&lt;p&gt;Yes, but you are discussing code that is one level deep (not the code that the user wrote). At the user code level the distinction remains.&lt;/p&gt;&lt;p&gt;What is important is that I have an idiom which exposes the difference when such exists (such as cPython) and may not if the underlying implementation tends to a similar structure (eg. Java). Your statements just help me solidify my perception that it is important to bring in such different idioms even if they do not always result in different internal code under all cases.&lt;/p&gt;&lt;p&gt;That the Java code has references does not defeat the necessity of the idiom. That the python code implementation reacts so differently supports the activity that idiom was specified to bring out the differences in performance.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Mon, 29 Aug 2011 03:00:12 -0000</pubDate></item><item><title>Re: Contrasting Performance : Languages, styles and VMs &amp;#8211; Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript</title><link>http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/#comment-442490122</link><description>&lt;p&gt;In fact this is a good case to plug for benchmarking using different styles of code as opposed to just one fastest possible way since it can a) highlight some particular strengths or weaknesses of a runtime, b) is likely to provide a better commentary on which styles suit which runtime and c) is less likely for the benchmarking to consistently be made into a futile exercise by excessively aggressive (ie. code one would not write under reasonable situations) code.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Mon, 29 Aug 2011 02:55:04 -0000</pubDate></item><item><title>Re: Contrasting Performance : Languages, styles and VMs &amp;#8211; Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript</title><link>http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/#comment-442490119</link><description>&lt;p&gt;Yes, but benchmarking code through writing the same logic different ways helps me understand the stresspoints in a more nuanced way than just the "usual suggestions" :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Mon, 29 Aug 2011 02:47:25 -0000</pubDate></item><item><title>Re: Contrasting Performance : Languages, styles and VMs &amp;#8211; Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript</title><link>http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/#comment-442491702</link><description>&lt;p&gt;Umm .. not sure if I am unable to understand your point.&lt;/p&gt;&lt;p&gt;I see here from my very first commit that distinction does remain&lt;/p&gt;&lt;p&gt;OO Code having references &lt;br&gt;&lt;a href="https://github.com/dnene/josephus/blob/bcb8860ced23cd528ee92c86f0d6ffe88e51f180/oo/Person.java" rel="nofollow noopener" target="_blank" title="https://github.com/dnene/josephus/blob/bcb8860ced23cd528ee92c86f0d6ffe88e51f180/oo/Person.java"&gt;https://github.com/dnene/jo...&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Element Recursion using a linked list&lt;/p&gt;&lt;p&gt;&lt;a href="https://github.com/dnene/josephus/blob/bcb8860ced23cd528ee92c86f0d6ffe88e51f180/combined/Chain.java" rel="nofollow noopener" target="_blank" title="https://github.com/dnene/josephus/blob/bcb8860ced23cd528ee92c86f0d6ffe88e51f180/combined/Chain.java"&gt;https://github.com/dnene/jo...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Mon, 29 Aug 2011 02:30:38 -0000</pubDate></item><item><title>Re: Contrasting Performance : Languages, styles and VMs &amp;#8211; Java, Scala, Python, Erlang, Clojure, Ruby, Groovy, Javascript</title><link>http://blog.dhananjaynene.com/2011/08/cperformance-comparison-languages-styles-and-vms-java-scala-python-erlang-clojure-ruby-groovy-javascript/#comment-442490115</link><description>&lt;p&gt;As I mentioned in my extended comment above (you may not have had a chance to see my addition regarding cPython) - the difference is actually quite relevant here. Java is not the only language being benchmarked. It may not make a big difference for Java, but it could for other languages (and in this case it does).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Dhananjay Nene</dc:creator><pubDate>Mon, 29 Aug 2011 02:02:23 -0000</pubDate></item></channel></rss>