<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: pgtan</title><link>https://news.ycombinator.com/user?id=pgtan</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 07 Nov 2026 16:55:27 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=pgtan" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by pgtan in "TIL: You can make HTTP requests without curl using Bash /dev/TCP"]]></title><description><![CDATA[
<p>It is a KornShell feature since ca. 1997<p><a href="https://github.com/ksh93/ast-open-archive/blame/master/src/cmd/ksh93/sh.1" rel="nofollow">https://github.com/ksh93/ast-open-archive/blame/master/src/c...</a></p>
]]></description><pubDate>Tue, 16 Jun 2026 20:21:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48561467</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=48561467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48561467</guid></item><item><title><![CDATA[New comment by pgtan in "Do you even need a database?"]]></title><description><![CDATA[
<p>Here are two checks using joins, one with sqlite, one with the join builtin of ksh93:<p><pre><code>  check_empty_vhosts () {
    # Check which vhost adapter doesn't have any VTD mapped
    start_sqlite
    tosql "SELECT l.vios_name,l.vadapter_name FROM vios_vadapter AS l
        LEFT OUTER JOIN vios_wwn_disk_vadapter_vtd AS r
    USING (vadapter_name,vios_name)
    WHERE r.vadapter_name IS NULL AND
      r.vios_name IS NULL AND
   l.vadapter_name LIKE 'vhost%';"
    endsql
    getsql
    stop_sqlite
  }

  check_empty_vhosts_sh () {
    # same as above, but on the shell
    join  -v 1  -t , -1 1 -2 1 \
   <(while IFS=, read vio host slot; do 
  if [[ $host == vhost* ]]; then
      print ${vio}_$host,$slot 
  fi
     done < $VIO_ADAPTER_SLOT | sort -t , -k 1)\
   <(while IFS=, read vio vhost vtd disk; do
  if [[ $vhost == vhost* ]]; then        
    print ${vio}_$vhost
  fi
     done < $VIO_VHOST_VTD_DISK | sort -t , -k 1)
  }</code></pre></p>
]]></description><pubDate>Wed, 15 Apr 2026 15:57:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47780963</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=47780963</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47780963</guid></item><item><title><![CDATA[New comment by pgtan in "Random Font – a typographic experiment exploring randomness [pdf]"]]></title><description><![CDATA[
<p>Someone is reinventing PostScript and Metafont<p><a href="https://www.moma.org/collection/works/139326" rel="nofollow">https://www.moma.org/collection/works/139326</a><p><a href="https://www.tug.org/TUGboat/tb09-2/tb21knut.pdf" rel="nofollow">https://www.tug.org/TUGboat/tb09-2/tb21knut.pdf</a></p>
]]></description><pubDate>Sat, 15 Nov 2025 10:21:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45936421</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=45936421</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45936421</guid></item><item><title><![CDATA[New comment by pgtan in "Spotlight on pdfly, the Swiss Army knife for PDF files"]]></title><description><![CDATA[
<p>Actually pdftex or luatex, but you are completely right, it can load a pdf file and do a lot of things with it.</p>
]]></description><pubDate>Mon, 13 Oct 2025 20:28:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45572993</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=45572993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45572993</guid></item><item><title><![CDATA[The Illusion of Moral Superiority]]></title><description><![CDATA[
<p>Article URL: <a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC5641986/">https://pmc.ncbi.nlm.nih.gov/articles/PMC5641986/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45233272">https://news.ycombinator.com/item?id=45233272</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 13 Sep 2025 16:19:36 +0000</pubDate><link>https://pmc.ncbi.nlm.nih.gov/articles/PMC5641986/</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=45233272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45233272</guid></item><item><title><![CDATA[New comment by pgtan in "EU to mobilize 200B Euros to invest in AI"]]></title><description><![CDATA[
<p>socialism's new excuse to grab other people's money</p>
]]></description><pubDate>Wed, 12 Feb 2025 12:29:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43024697</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=43024697</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43024697</guid></item><item><title><![CDATA[New comment by pgtan in "Will better superconductors transform the world?"]]></title><description><![CDATA[
<p>Does someone have stock portfolio of superconductor manufacturer to share? I watch Furukawa, Sumitomo, and AMSC and they are performing not bad.</p>
]]></description><pubDate>Sun, 19 May 2024 14:09:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=40407086</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=40407086</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40407086</guid></item><item><title><![CDATA[New comment by pgtan in "Exploring Bauhaus: Revolutionary design school that shaped modern world"]]></title><description><![CDATA[
<p>That article not even mention Bauhaus in Tel Aviv!<p><a href="https://bauhaus-center.com/bauhaus-in-tel-aviv/" rel="nofollow">https://bauhaus-center.com/bauhaus-in-tel-aviv/</a></p>
]]></description><pubDate>Mon, 11 Mar 2024 14:28:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=39668691</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=39668691</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39668691</guid></item><item><title><![CDATA[How Tech Giants Turned Ukraine Into an AI War Lab]]></title><description><![CDATA[
<p>Article URL: <a href="https://time.com/6691662/ai-ukraine-war-palantir/">https://time.com/6691662/ai-ukraine-war-palantir/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=39372722">https://news.ycombinator.com/item?id=39372722</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 14 Feb 2024 17:45:02 +0000</pubDate><link>https://time.com/6691662/ai-ukraine-war-palantir/</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=39372722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39372722</guid></item><item><title><![CDATA[New comment by pgtan in "Intel QuickAssist Technology Zstandard Plugin for Zstandard"]]></title><description><![CDATA[
<p>Well, POWER9 and later CPUs have builtin hardware compression using the 8-4-2 algorithm.<p><a href="https://en.wikipedia.org/wiki/842_(compression_algorithm)" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/842_(compression_algorithm)</a><p><a href="https://github.com/plauth/lib842">https://github.com/plauth/lib842</a></p>
]]></description><pubDate>Thu, 17 Aug 2023 12:44:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=37160713</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=37160713</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37160713</guid></item><item><title><![CDATA[New comment by pgtan in "Simple Unix Chat"]]></title><description><![CDATA[
<p>for builtin security see for example <a href="https://unix.stackexchange.com/questions/102746/how-to-invoke-a-shell-built-in-explicitly" rel="nofollow noreferrer">https://unix.stackexchange.com/questions/102746/how-to-invok...</a></p>
]]></description><pubDate>Thu, 06 Jul 2023 06:44:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=36612193</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=36612193</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36612193</guid></item><item><title><![CDATA[New comment by pgtan in "Simple Unix Chat"]]></title><description><![CDATA[
<p>OK, for starter the while loop. Main rule of writing shell scripts is, Use The Shell, Luke. Don't start external programs, if your shell (which is already running) can do it. "while /usr/bin/true" is nonsense, every time an external program gets executed for nothing.  There are plenty of bash (since this shell is used in the example) internals, which evaluate to true, like ":", "test 1", "(( 1 ))", maybe others too. So "while :" should be better. But why even use dummy true statement, since the loop terminates with read? You can put the read as argument to while directly: "while read -r line; do" ... Same with echo and date. Just use one single printf builtin.<p>while read -r line ; do printf '%(%FT%T%z)T  %-9s %s' -1 "$(/usr/bin/id --user --name --real)" "$line" ; done</p>
]]></description><pubDate>Wed, 05 Jul 2023 15:41:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=36601983</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=36601983</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36601983</guid></item><item><title><![CDATA[New comment by pgtan in "Simple Unix Chat"]]></title><description><![CDATA[
<p>This bash code is a parade example how NOT to write scripts.</p>
]]></description><pubDate>Wed, 05 Jul 2023 10:51:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=36598513</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=36598513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36598513</guid></item><item><title><![CDATA[New comment by pgtan in "The Case for Bash (2021)"]]></title><description><![CDATA[
<p>Well, Kornshell (ksh93) has some nice programming features, much better than bash.</p>
]]></description><pubDate>Thu, 18 May 2023 11:48:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=35986652</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=35986652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35986652</guid></item><item><title><![CDATA[New comment by pgtan in "21y ex Ukrainian math olympiad team member killed by Russian shelling of Charkiv"]]></title><description><![CDATA[
<p>Yuliya Zdanovska, here in an old team picture:<p><a href="https://euromaidanpress.com/2017/04/13/ukrainian-schoolgirls-win-mathematics-olympiad-for-third-time/" rel="nofollow">https://euromaidanpress.com/2017/04/13/ukrainian-schoolgirls...</a></p>
]]></description><pubDate>Wed, 09 Mar 2022 07:24:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=30611813</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=30611813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30611813</guid></item><item><title><![CDATA[21y ex Ukrainian math olympiad team member killed by Russian shelling of Charkiv]]></title><description><![CDATA[
<p>Article URL: <a href="https://twitter.com/maxfargo88/status/1501444390140760071">https://twitter.com/maxfargo88/status/1501444390140760071</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=30611809">https://news.ycombinator.com/item?id=30611809</a></p>
<p>Points: 20</p>
<p># Comments: 3</p>
]]></description><pubDate>Wed, 09 Mar 2022 07:22:53 +0000</pubDate><link>https://twitter.com/maxfargo88/status/1501444390140760071</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=30611809</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30611809</guid></item><item><title><![CDATA[New comment by pgtan in "X Window System on a Floppy"]]></title><description><![CDATA[
<p>I for myself get annoyed every time I see this misspell. The name is X Window. Even microserfs can learn it.</p>
]]></description><pubDate>Mon, 13 Sep 2021 20:18:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=28516305</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=28516305</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28516305</guid></item><item><title><![CDATA[New comment by pgtan in "IBM mainframe beats other platforms for cost and performance"]]></title><description><![CDATA[
<p>[edit] sorry, I've mistaken the concepts. The name is active memory deduplication, which sits on top on memory sharing.<p><a href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4827.pdf" rel="nofollow">http://www.redbooks.ibm.com/redpapers/pdfs/redp4827.pdf</a><p>[old]<p>It is called active memory sharing in the POWER world<p><a href="https://www.ibm.com/docs/en/power9/9080-M9S?topic=sharing-managing-powervm-active-memory" rel="nofollow">https://www.ibm.com/docs/en/power9/9080-M9S?topic=sharing-ma...</a><p><a href="http://www.redbooks.ibm.com/redpapers/pdfs/redp4470.pdf" rel="nofollow">http://www.redbooks.ibm.com/redpapers/pdfs/redp4470.pdf</a></p>
]]></description><pubDate>Wed, 08 Sep 2021 17:33:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=28460389</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=28460389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28460389</guid></item><item><title><![CDATA[New comment by pgtan in "Rediscovering Logo with Bob the Turtle"]]></title><description><![CDATA[
<p>This has nothing to do with Logo, the programming language. It's Python all the way down.</p>
]]></description><pubDate>Sun, 05 Sep 2021 07:33:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=28422270</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=28422270</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28422270</guid></item><item><title><![CDATA[New comment by pgtan in "An Opinionated Guide to Xargs"]]></title><description><![CDATA[
<p>Yes, you are right. Bash 5 on AIX 7.2 works with process substitution. Thanks for the advise!</p>
]]></description><pubDate>Sun, 22 Aug 2021 08:33:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=28263820</link><dc:creator>pgtan</dc:creator><comments>https://news.ycombinator.com/item?id=28263820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28263820</guid></item></channel></rss>