<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: nkh</title><link>https://news.ycombinator.com/user?id=nkh</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 02:42:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nkh" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by nkh in "USDA Projects Smallest US Wheat Harvest Since 1972 Due to Plains Drought"]]></title><description><![CDATA[
<p>They all need diesel to run the equipment as well, which is also approaching all time highs.</p>
]]></description><pubDate>Thu, 14 May 2026 15:54:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48137233</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=48137233</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48137233</guid></item><item><title><![CDATA[New comment by nkh in "Don't post generated/AI-edited comments. HN is for conversation between humans"]]></title><description><![CDATA[
<p>What a welcome post.  The whole reason I come here is to get thoughtful input from smart people, and not what I could get myself from an LLM.  While we are at it; Think your own thoughts as well :)  I know how easy it is to "let it come up with a first draft" and not spend the real effort of thinking for yourself on questions, but you'll find it's a road to perdition if you let yourself slip into the habit.  Thanks to all the humans still here!!</p>
]]></description><pubDate>Wed, 11 Mar 2026 20:37:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47341249</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=47341249</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47341249</guid></item><item><title><![CDATA[New comment by nkh in "U.S. Spy Agencies–One-Stop Shop to Buy Your Personal Data"]]></title><description><![CDATA[
<p>If I wanted to buy the data on myself to see what these brokers have.  Is that possible?  If so, Where should I go next?</p>
]]></description><pubDate>Thu, 22 May 2025 18:58:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44065462</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=44065462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44065462</guid></item><item><title><![CDATA[New comment by nkh in "Clojure: Realtime collaborative web apps without ClojureScript"]]></title><description><![CDATA[
<p>The Clojure ecosystem embraced react early and built on top of it (with OM, Reagent and Re-Frame (for SPAs).  The UI = f(applicationState) is definitely viewed as the correct approach.  In other words, gather all your application state in one place. Whenever it changes, pass all of it to a single function to produce the next version of your UI.<p>Replicant takes this idea and runs with it, narrowing it down even further: The function is a pure function that returns the new UI as data. Replicant uses this representation to update the DOM accordingly.<p>That’s it. No partial updates, no mutable objects, no network activity from UI components. It’s basically a templating system. You give it data, and it returns a view.  Whether that data comes from a DB or any other place, it's just a clojure data structure.  Here is the article that most of this comment is lifted from:  <a href="https://replicant.fun/top-down/" rel="nofollow">https://replicant.fun/top-down/</a></p>
]]></description><pubDate>Fri, 11 Apr 2025 02:14:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=43649856</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=43649856</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43649856</guid></item><item><title><![CDATA[New comment by nkh in "Clojure: Realtime collaborative web apps without ClojureScript"]]></title><description><![CDATA[
<p>One thing I've always liked about the Clojure community, is that they are obessesed with state.  I think they have correctly identified, that when things go sideways, it is because state management was involved in some way.  This is a cool front end approach using datastar to put all of the state on the backend and side step front end state management entirely.  There are some other really interesting things happening with electric clojure and a new "framework" called Replicant.  Of all of them, Replicant seems the most intriguing to me personally.  If it didn't exist, I think I would be trying to use datastar as this article outlines.</p>
]]></description><pubDate>Fri, 11 Apr 2025 01:40:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=43649648</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=43649648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43649648</guid></item><item><title><![CDATA[New comment by nkh in "Egg prices are soaring. Are backyard chickens the answer?"]]></title><description><![CDATA[
<p>What is the amount of time required for all the different chicken activities? (estimated weekly average)</p>
]]></description><pubDate>Wed, 19 Feb 2025 23:39:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=43109248</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=43109248</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43109248</guid></item><item><title><![CDATA[New comment by nkh in "S3 Tables"]]></title><description><![CDATA[
<p>If I am currently querying s3 parquet files with DuckDb, could I still do that with s3 tables, and what other advantages does this offer?</p>
]]></description><pubDate>Wed, 04 Dec 2024 20:03:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=42321461</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=42321461</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42321461</guid></item><item><title><![CDATA[New comment by nkh in "Big Tech and Silicon Valley are transforming the military-industrial complex"]]></title><description><![CDATA[
<p>The best book on this is:<p>Surveillance Valley: 
The Secret Military History of the Internet
(Desc: The internet is the most effective weapon the government has ever built.)<p><a href="https://www.hachettebookgroup.com/titles/yasha-levine/surveillance-valley/9781610398039/" rel="nofollow">https://www.hachettebookgroup.com/titles/yasha-levine/survei...</a></p>
]]></description><pubDate>Fri, 26 Apr 2024 17:50:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=40172223</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=40172223</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40172223</guid></item><item><title><![CDATA[New comment by nkh in "Researchers have found a faster way to do integer linear programming"]]></title><description><![CDATA[
<p>> <i>upper bounds of a more general nature that R&R produce</i><p>If it's an upper bound, it should be pretty easy to plug into the existing stuff under the hood in these solvers.  Can you provide my insight into how the R&R "Upper bound" is different and "more general in nature"?</p>
]]></description><pubDate>Tue, 30 Jan 2024 04:37:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=39186446</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=39186446</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39186446</guid></item><item><title><![CDATA[New comment by nkh in "Researchers have found a faster way to do integer linear programming"]]></title><description><![CDATA[
<p>All these solvers use branch and bound to explore the solution space and "fathom" (i.e. eliminate candidate search trees if the lowest possible value for the tree is above an already found solution).  The upper bound that the solver calculates via pre-solve heuristics and other techniques does vary from solver to solver.  However, they all have a place for "Upper bound", and there are mechanisms in all of these solvers for updating that value in a current solve.<p>If this paper were a complementally orthogonal implementation from everything that exists in these solvers today, if it can produce a new upper bound, faster than other techniques, it should be fairly plug and play.<p>I have an undergrad OR degree, and I have been a practitioner for 18 years in LP/MIP problems.  So I understand the current capacities of these solvers, and have familiarity with these problems.  However, I and am out of my depth trying to understand the specifics of this paper, and would love to be corrected where I am missing something.</p>
]]></description><pubDate>Tue, 30 Jan 2024 04:11:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=39186333</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=39186333</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39186333</guid></item><item><title><![CDATA[New comment by nkh in "Researchers have found a faster way to do integer linear programming"]]></title><description><![CDATA[
<p>Why would it need to replace them?  From the article, they claim they have found a way to reduce the upperbound faster when searching large Integer problems.  I don't see how that effects the current searching process.  All of these solvers you can enter in an upperbound yourself if you have knowledge of the problem and know a previous solution.  So it seems if this is just a programmatic way of reducing the upper bound, it should fit right in with current approaches.  What am I missing?</p>
]]></description><pubDate>Tue, 30 Jan 2024 03:07:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=39185953</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=39185953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39185953</guid></item><item><title><![CDATA[New comment by nkh in "Researchers have found a faster way to do integer linear programming"]]></title><description><![CDATA[
<p><i>For now, the new algorithm hasn’t actually been used to solve any logistical problems, since it would take too much work updating today’s programs to make use of it. But for Rothvoss, that’s beside the point. “It’s about the theoretical understanding of a problem that has fundamental applications,” he said.</i><p>I don't see how "it would take to much work updating today's programs".  Most domain specific models call out to Gurobi, CPLEX, or FICO solvers for large problems, and open source ones like SCIP for the small ones.  There is a standard MPS format where you can run exchange models between all of these solvers, and the formulation of the problem shouldn't change, just the solving approach inside the solver.<p>Can someone enlighten me?  I could see if they are arguing, this will require a new implementation, and if so, there is a ton of benefit the world would see from doing so.</p>
]]></description><pubDate>Tue, 30 Jan 2024 02:47:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=39185828</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=39185828</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39185828</guid></item><item><title><![CDATA[New comment by nkh in "50 Algorithms Every Programmer Should Know (Second Edition)"]]></title><description><![CDATA[
<p>Thanks for the comment.  What books would you recommend?</p>
]]></description><pubDate>Wed, 03 Jan 2024 15:31:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=38855222</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=38855222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38855222</guid></item><item><title><![CDATA[New comment by nkh in "The five filters of the mass media"]]></title><description><![CDATA[
<p>I wondered that initially as well.  There are many factors at play:<p>1. Doing that would juice it. <a href="https://en.wikipedia.org/wiki/Streisand_effect" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Streisand_effect</a><p>2.Each of these institutions brands itself on providing quality information, and in the US we pride ourselves on the first amendment.  So the brand hit for censoring isn't worth it.<p>3. Chomsky is/was tenured and couldn't be fired the same way a journalist could<p>If you look at manufacturing consent, they make it clear that good stuff can get through media.  It is just so much harder, and therefore there is less of it overall.  But that doesn't mean nothing can get through.</p>
]]></description><pubDate>Mon, 06 Nov 2023 14:48:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=38163327</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=38163327</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38163327</guid></item><item><title><![CDATA[New comment by nkh in "The five filters of the mass media"]]></title><description><![CDATA[
<p>"When fox news called Arizona their viewers left them -- so fox jumped on election denial precipitating events which led to Jan 6th. What is the analysis here, say?"<p>From the first filter in the article:  Mass media firms are big corporations. Often, they are part of even bigger conglomerates. Their end game? Profit. And so it’s in their interests to push for whatever guarantees that profit. Naturally, critical journalism must take second place to the needs and interests of the corporation.<p>"it doesn't explain the existence of trump in the first place: his base chose him."<p>2015/2016 Trump was a ratings goldmine. See point #1 about media profits.</p>
]]></description><pubDate>Mon, 06 Nov 2023 14:39:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=38163207</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=38163207</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38163207</guid></item><item><title><![CDATA[New comment by nkh in "Inside the JVM: Arrays and how they differ from other objects"]]></title><description><![CDATA[
<p>Does anyone have any good book recommendations or links for insider knowledge of the JVM/Java? If Clojure focused all the better :)</p>
]]></description><pubDate>Thu, 24 Aug 2023 13:04:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=37248285</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=37248285</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37248285</guid></item><item><title><![CDATA[New comment by nkh in "Java 21: What’s New?"]]></title><description><![CDATA[
<p>When type checking is needed, I find the Truss library* does the trick quite well.<p>As for the syntax, there is very little, which can make it a harder lift but once you have the hang of it you won't deal with the issues identified in the parent comment.<p>* <a href="https://github.com/taoensso/truss">https://github.com/taoensso/truss</a></p>
]]></description><pubDate>Wed, 09 Aug 2023 21:02:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=37068367</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=37068367</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37068367</guid></item><item><title><![CDATA[New comment by nkh in "Java 21: What’s New?"]]></title><description><![CDATA[
<p>Isn't that Clojure?<p>(let [p obj]<p><pre><code>  (if (instance? Point p)

    (let [x (.x p)

          y (.y p)]

      (println (+ x y))))</code></pre></p>
]]></description><pubDate>Wed, 09 Aug 2023 20:52:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=37068227</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=37068227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37068227</guid></item><item><title><![CDATA[New comment by nkh in "Why Lisp Syntax Works"]]></title><description><![CDATA[
<p>For what it's worth (speaking only for myself), I could not live without the threading macros (-> and ->>) in Clojure.  Below is an example of some very involved ETL work I just did.  For me this is very readable, and I understand if others have other preferences.<p>(defn run-analysis [path]<p><pre><code>  ;load data from converted arrow file
  (let [data (load-data path)]

    (-> data
        ;; Calc a Weeknumber, Ad_Channel, and filter Ad_Channel for retail
        add-columns
        ;; Agg data by DC, Store, WeekNum, Item and sum qty and count lines
        rolled-ds
        ;; Now Agg again, this time counting the weeks and re-sum qty and lines
        roll-again)))

</code></pre>
;;Run the whole thing<p>(time (run-analysis arrow-path))<p>This code processes 27 million lines in 75 seconds (shout out to <a href="https://techascent.github.io/tech.ml.dataset/100-walkthrough.html" rel="nofollow">https://techascent.github.io/tech.ml.dataset/100-walkthrough...</a> library)</p>
]]></description><pubDate>Mon, 05 Jun 2023 15:26:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=36197605</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=36197605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36197605</guid></item><item><title><![CDATA[New comment by nkh in "Why Lisp Syntax Works"]]></title><description><![CDATA[
<p>The language fundamentals of "Clojure for the Brave and True" (best intro to Clojure book IMO) is excellent (if you consider Clojure a lisp).  I find the author's style/humor engaging.<p><a href="https://www.braveclojure.com/clojure-for-the-brave-and-true/" rel="nofollow">https://www.braveclojure.com/clojure-for-the-brave-and-true/</a></p>
]]></description><pubDate>Mon, 05 Jun 2023 15:13:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=36197361</link><dc:creator>nkh</dc:creator><comments>https://news.ycombinator.com/item?id=36197361</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36197361</guid></item></channel></rss>