<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: dpkp</title><link>https://news.ycombinator.com/user?id=dpkp</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 14 May 2026 19:11:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dpkp" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dpkp in "Xs of Y – roguelike that names itself every run. Written in 4kLoC"]]></title><description><![CDATA[
<p>I see the same but only in browser / wasm. Also notice that the mobs dont move in browser mode. Local via lg in console works great though.</p>
]]></description><pubDate>Wed, 13 May 2026 19:28:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=48126320</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=48126320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48126320</guid></item><item><title><![CDATA[New comment by dpkp in "Clojure’s Approach to Identity and State (2008)"]]></title><description><![CDATA[
<p>I can understand your frustration about Rich's development process. But clojure is most definitely not closed source. The source is right here: <a href="https://github.com/clojure/clojure" rel="nofollow">https://github.com/clojure/clojure</a> and the license that allows you to copy, modify, and redistribute that source is here: <a href="https://opensource.org/licenses/eclipse-1.0.php" rel="nofollow">https://opensource.org/licenses/eclipse-1.0.php</a><p>Rich has a fairly strict development approach and wants to personally review and approve all changes to the core. There are complaints about that process, and that's fair. But as far as I have seen, most large, successful projects have similar personalities leading them (Stallman, Linus, Larry Wall, Guido...).<p>Finally, I should add -- if what you are looking for is software freedom... then you should absolutely consider using a Lisp like clojure. Lisp's give <i>you</i> the power to control your language through macros and non-core libraries. Unlike other languages, you do not need a core development team to make language changes for you. Perhaps this is why clojure is so powerful... because the core process issues you have heard about are not actually that important, and in fact the language itself enables substantially more software freedom than perhaps you are giving it credit for.</p>
]]></description><pubDate>Sun, 14 Jul 2019 17:48:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=20434728</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=20434728</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20434728</guid></item><item><title><![CDATA[New comment by dpkp in "“Python's batteries are leaking”"]]></title><description><![CDATA[
<p>have you written your own 2/3 compatibility layer? I can't imagine writing anything large without six...<p>fwiw, six can easily be vendored into a project to avoid the technical external dependency. that is how we manage it for kafka-python.</p>
]]></description><pubDate>Sat, 18 May 2019 19:05:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=19949134</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=19949134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19949134</guid></item><item><title><![CDATA[New comment by dpkp in "Deep code search"]]></title><description><![CDATA[
<p>Congrats + well done!</p>
]]></description><pubDate>Tue, 26 Jun 2018 16:12:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=17401809</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=17401809</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17401809</guid></item><item><title><![CDATA[New comment by dpkp in "Ask HN: Are you working on interesting technical problems?"]]></title><description><![CDATA[
<p>Have you read Zen and the Art of Motorcycle Maintenance? You might enjoy it. A thoughtful book (semi-autobiographical) about a man searching for meaning, thinking-through-it-all while riding his motorcycle across the country with his son.</p>
]]></description><pubDate>Tue, 05 Jun 2018 14:29:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=17237916</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=17237916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17237916</guid></item><item><title><![CDATA[New comment by dpkp in "Bitcoin: A Peer-to-Peer Electronic Cash System (2008) [pdf]"]]></title><description><![CDATA[
<p>*Or she.<p>But that's an interesting point re mining pools. Do you have any links to more information about how they drastically changed dynamics?</p>
]]></description><pubDate>Sat, 09 Dec 2017 02:26:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=15883901</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=15883901</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15883901</guid></item><item><title><![CDATA[New comment by dpkp in "Bitcoin: A Peer-to-Peer Electronic Cash System (2008) [pdf]"]]></title><description><![CDATA[
<p>I guess I just have never found support for that in the nakamoto paper. You obviously have strong feelings about it, and I'm not trying to provoke an argument. I just still don't understand where in the paper there is any discussion of non-mining nodes. The only place I can find mention of nodes that are not working on constructing new blocks on the network is in Section 8 re: the simplified verification protocol.</p>
]]></description><pubDate>Sat, 09 Dec 2017 02:15:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=15883859</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=15883859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15883859</guid></item><item><title><![CDATA[New comment by dpkp in "Bitcoin: A Peer-to-Peer Electronic Cash System (2008) [pdf]"]]></title><description><![CDATA[
<p>That seems inconsistent with the paper. For example, from the conclusion:<p><pre><code>  [Nodes] vote with their CPU power, expressing their acceptance of
  valid blocks by working on extending them and rejecting invalid blocks by refusing to work on
  them. Any needed rules and incentives can be enforced with this consensus mechanism.
</code></pre>
I do see the separate section on "Simplified Payment Verification", which does seem distinct from mining. Is that what you are referring to?</p>
]]></description><pubDate>Sat, 09 Dec 2017 02:06:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=15883825</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=15883825</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15883825</guid></item><item><title><![CDATA[New comment by dpkp in "Bitcoin: A Peer-to-Peer Electronic Cash System (2008) [pdf]"]]></title><description><![CDATA[
<p>This seems incorrect. Isn't a node a process on the network that is mining blocks? It does not seem as if a process that simply reads blocks but does not add any hashrate is participating in the network as I understand it.</p>
]]></description><pubDate>Sat, 09 Dec 2017 01:29:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=15883658</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=15883658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15883658</guid></item><item><title><![CDATA[New comment by dpkp in "Jocko – Kafka implemented in Golang"]]></title><description><![CDATA[
<p>fantastic project -- I've been waiting for someone to tackle this!</p>
]]></description><pubDate>Sat, 21 Jan 2017 17:53:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=13451167</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=13451167</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13451167</guid></item><item><title><![CDATA[New comment by dpkp in "Why Clojure? (2010)"]]></title><description><![CDATA[
<p>> In FP you will end with garnishFingerFood and garnishCocktail because you need to encode somewhere a specifics of garnish action. In OOP you will have garnish methods on Coctail and FingerFood and specifics and related knowledge how you need to perform garnish will be on object itself.<p>You're complecting. In the real world of Clojure, you could simply define a protocol and provide different implementations of "garnish".</p>
]]></description><pubDate>Fri, 30 Dec 2016 17:18:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=13285555</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=13285555</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13285555</guid></item><item><title><![CDATA[New comment by dpkp in "Franz Liszt: Musician, Celebrity, Superstar"]]></title><description><![CDATA[
<p>Extremely negative review -- wow.</p>
]]></description><pubDate>Tue, 02 Aug 2016 01:48:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=12207357</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=12207357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12207357</guid></item><item><title><![CDATA[New comment by dpkp in "Python Kafka Client Benchmarking"]]></title><description><![CDATA[
<p>No apology required. Though note that pykafka requires >=0.8.2 , and is only forwards compatible w/ newer brokers. This means that pykafka implements the 0.8.2 feature set. Newer brokers support that feature set, but you are not taking advantage of 0.9 or 0.10 features if you connect to them. kafka-python, on the other hand is both forwards <i>and</i> backwards compatible. It supports all feature sets: from no offsets in 0.8, to zk offests in 0.8.1, to kafka offsets in 0.8.2, to group management in 0.9, to message timestamps and relative-offset compressed messages in 0.10. The feature set to use is chosen based on the broker version we're connected to. As far as I know, no other client supports this approach -- not python, not java, etc. [Though KIP-35 should open this up to other clients for backwards compatibility starting at 0.10]</p>
]]></description><pubDate>Thu, 16 Jun 2016 16:15:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=11917087</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=11917087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11917087</guid></item><item><title><![CDATA[New comment by dpkp in "Python Kafka Client Benchmarking"]]></title><description><![CDATA[
<p>I enjoyed your blog post, but I don't think this is a fair characterization: kafka-python is not "mostly 0.9+ focused..." kafka-python is the only driver that is both forward and backwards compatible w/ kafka 0.8 through 0.10.  As I'm sure you remember, kafka-python was the original 0.8 driver, written to support the 0.8 protocol b/c Samsa (pykafka's previous incarnation) was only supporting 0.7 and did not have any plans to upgrade.</p>
]]></description><pubDate>Thu, 16 Jun 2016 15:15:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=11916686</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=11916686</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11916686</guid></item><item><title><![CDATA[New comment by dpkp in "Python Kafka Client Benchmarking"]]></title><description><![CDATA[
<p>kafka-python maintainer here. Our library is designed to be correct first, easy to use second, and fast third. It should not be surprising to anyone that using C extensions improves python performance. I have avoided requiring C compilation in kafka-python primarily because I've found that very few python users care about processing >10K messages per second per core (remember in python w/o C extensions you are generally bound to a single CPU, so spinning up multiple processes usually improves performance. see multiprocessing). I've also found the python infrastructure for distributing C extensions to be not easy (see goal #2 above). But that is changing! I would definitely consider leveraging C extensions for wire protocol decoding given the recent improvements to wheel distribution on linux. I'm not sure whether I would go so far as to delegate the entire client to a C extension. Part of the fun of python is that you can play with all of the guts at runtime. I've found users are very willing to hack up kafka-python internals to help debug issues. I dont think I could expect the same community involvement if it was all distributed as a complied C extension. But I could be wrong.<p>Anyways, always fun to read benchmarks. I hope kafka-python makes someone out there smile. That's the best benchmark in my book.</p>
]]></description><pubDate>Thu, 16 Jun 2016 14:58:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=11916560</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=11916560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11916560</guid></item><item><title><![CDATA[New comment by dpkp in "Spotify Hit with $150M Class Action Over Unpaid Royalties"]]></title><description><![CDATA[
<p>Labels deal in sound recordings, which have historically been licensed independently of the underlying music compositions.  Most distributors like Spotify will obtain separate licensing for compositions, whether from collecting societies like ASCAP, BMI, or SESAC, and/or through direct deals with artist / publishers themselves.<p>This setup may seem odd, but but it has historically been used to provide some protection against labels "screwing" artists - b/c although a label takes the sound recording rights and therefore controls royalty payments back to artists for the recording [if any -- after recoupment, etc], the artist typically retains their own publishing rights and can license those separately for $$ not subject to their label deal (though subject to cuts from societies, and their individual deals with publishers etc). This opens up new revenue streams for artists to get paid outside the control of their label: by radio stations/bars/restaurants via PROs, or in sync-right deals for placement in movies or on TV.</p>
]]></description><pubDate>Tue, 29 Dec 2015 23:34:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=10809787</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=10809787</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10809787</guid></item><item><title><![CDATA[New comment by dpkp in "Spotify Hit with $150M Class Action Over Unpaid Royalties"]]></title><description><![CDATA[
<p>But the article is about music publishers, not music labels.</p>
]]></description><pubDate>Tue, 29 Dec 2015 23:16:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=10809702</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=10809702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10809702</guid></item><item><title><![CDATA[New comment by dpkp in "Brubeck – A statsd-compatible metrics aggregator"]]></title><description><![CDATA[
<p>switched from statsd to statsite a few years ago and haven't looked back. highly recommend. same high quality code you'd expect from armon and the hashicorp crew (though statsite predates hashicorp, I believe).</p>
]]></description><pubDate>Tue, 16 Jun 2015 02:12:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=9723430</link><dc:creator>dpkp</dc:creator><comments>https://news.ycombinator.com/item?id=9723430</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9723430</guid></item></channel></rss>