<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>yup.sh</title><link>https://yup.sh/</link><description>Recent content on yup.sh</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 22 Feb 2025 17:20:02 -0800</lastBuildDate><atom:link href="https://yup.sh/index.xml" rel="self" type="application/rss+xml"/><item><title>init</title><link>https://yup.sh/posts/init/</link><pubDate>Sat, 22 Feb 2025 17:20:02 -0800</pubDate><guid>https://yup.sh/posts/init/</guid><description>&lt;p&gt;yup is a shell for &lt;a href="https://github.com/gloo-foo"&gt;gloo-foo&lt;/a&gt; commands.&lt;/p&gt;
&lt;p&gt;Type shell pipelines. yup parses them and executes them as gloo-foo calls — entirely in-process, no subprocesses.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yup&amp;gt; cat access.log | grep 503 | cut -d&amp;#39; &amp;#39; -f1 | sort | uniq -c | sort -rn | head -5
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Every command resolves to a gloo-foo function. The pipe operator connects them via gloo-foo&amp;rsquo;s streaming API.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;yup&amp;gt; grep -i error server.log
yup&amp;gt; seq 1 100 | grep 7 | wc -l
yup&amp;gt; find . -name &amp;#34;*.go&amp;#34; | xargs grep &amp;#34;TODO&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;More at &lt;a href="https://github.com/yupsh"&gt;github.com/yupsh&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>