<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: ilyash</title><link>https://news.ycombinator.com/user?id=ilyash</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Apr 2026 02:13:58 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ilyash" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ilyash in "A Common Lisp jq replacement"]]></title><description><![CDATA[
<p>Thanks!<p>I think it's about alignment of the project and how you think.<p>If it won't be it this time, I'm working on the user interface of Next Generation Shell now and I would like to encourage you to revisit the project once that is done.<p>Plan:<p><a href="https://github.com/ngs-lang/ngs/wiki/UI-Design">https://github.com/ngs-lang/ngs/wiki/UI-Design</a><p><a href="https://github.com/ngs-lang/ngs/wiki/UI-Chain-Design">https://github.com/ngs-lang/ngs/wiki/UI-Chain-Design</a><p>Tldr: interactive objects on the screen, each interaction results "interaction record" (structured data about what happened), semantic understanding of what's happening, record/replay facility.</p>
]]></description><pubDate>Sun, 04 May 2025 03:32:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=43884273</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=43884273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43884273</guid></item><item><title><![CDATA[New comment by ilyash in "A Common Lisp jq replacement"]]></title><description><![CDATA[
<p>> controversial<p>I did hear an opinion (somewhere else) that a shell shouldn't have associative arrays either and it was a mistake...<p>> Nushell<p>Nushell is a candidate and some people use it and like it. I personally disagree with the design. Then again, I'm not objective. I created Next Generation Shell. It's a fully fledged programming language with domain specific facilities (for running external programs for example). I like this approach more than trying to improve over a shell. It fits my brain better.</p>
]]></description><pubDate>Sat, 03 May 2025 14:30:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=43879273</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=43879273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43879273</guid></item><item><title><![CDATA[New comment by ilyash in "A Common Lisp jq replacement"]]></title><description><![CDATA[
<p>Opinion. Likely controversial. The fact that we need jq highlights that we are missing this functionality in shells. I argue that these days (nested) structured data is as basic requirement as having scalars, arrays and associative arrays (which bash has). It hurts my eyes seeing five line of assignment to variables where each one runs jq to extract that particular field from a data structure.<p>More at "jq is a symptom" - <a href="https://ilya-sher.org/2018/09/10/jq-is-a-symptom/" rel="nofollow">https://ilya-sher.org/2018/09/10/jq-is-a-symptom/</a><p>Related and might be interesting - "JSON tools for command line" - <a href="https://ilya-sher.org/2018/04/10/list-of-json-tools-for-command-line/" rel="nofollow">https://ilya-sher.org/2018/04/10/list-of-json-tools-for-comm...</a></p>
]]></description><pubDate>Sat, 03 May 2025 04:58:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=43876955</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=43876955</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43876955</guid></item><item><title><![CDATA[New comment by ilyash in "Advanced Shell Scripting with Bash (2006) [pdf]"]]></title><description><![CDATA[
<p>Thanks for the kind words. I phrase it as "fully fledged programming language with domain specific facilities". Hope it makes sense.</p>
]]></description><pubDate>Sat, 19 Apr 2025 02:50:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=43733836</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=43733836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43733836</guid></item><item><title><![CDATA[New comment by ilyash in "Advanced Shell Scripting with Bash (2006) [pdf]"]]></title><description><![CDATA[
<p>Hi. Author here.<p>> I've actually already written a lot of the functionality I see here as bash (and other) functions<p>That's exactly the reason these are part of stdlib. No reason for everybody to reimplemnt these with slight variations and copy it around.</p>
]]></description><pubDate>Sat, 19 Apr 2025 02:48:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=43733820</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=43733820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43733820</guid></item><item><title><![CDATA[New comment by ilyash in "Ask HN: What Problem Would You Solve with Unlimited Time and Money? [Apr 2025]"]]></title><description><![CDATA[
<p>Make everyone use the metric system.</p>
]]></description><pubDate>Mon, 14 Apr 2025 02:41:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=43677605</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=43677605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43677605</guid></item><item><title><![CDATA[New comment by ilyash in "NGS – Next Generation Shell"]]></title><description><![CDATA[
<p>Hi. Author here.<p>The biggest difference between NGS and other shells is the UI. It's work in progress. Ideas are at <a href="https://github.com/ngs-lang/ngs/wiki/UI-Design">https://github.com/ngs-lang/ngs/wiki/UI-Design</a><p>Another big difference is that NGS is a language designed ground up for DevOps-y tasks. The result, in my subjective opinion, is clear and concise scripting. That's due to better fit between the language and problems being solved.<p>Edit: Python for example "doesn't like" functional programming, while NGS supports it and using map() and filter() is idiomatic.<p>Edit 2: explanation why UI takes so long. That's because it is being implemented mostly in NGS itself so the language must be in shape (and now it is but it took time).</p>
]]></description><pubDate>Sun, 20 Oct 2024 14:55:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41895738</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=41895738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41895738</guid></item><item><title><![CDATA[New comment by ilyash in "Moxie Marlinspike: Agile is killing software innovation"]]></title><description><![CDATA[
<p>I don't think the structure is the problem. I think it's fine that the higher you go the bigger decisions and responsibility there is.<p>The part that I think is not working is that managers neglect one of the basic behaviors they should be engaging in. Weekly one-on-ones done properly. That's the place for information to go from directs to managers.</p>
]]></description><pubDate>Sun, 11 Aug 2024 12:28:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=41215703</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=41215703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41215703</guid></item><item><title><![CDATA[New comment by ilyash in "Ask HN: What would you spend your time working on if you didn't need money?"]]></title><description><![CDATA[
<p>I would like to make my DevOps colleagues more productive and less frustrated. I'm actually already doing it, it's just way slower when you can't do it as a full time job.<p>I started working on Next Generation Shell in 2013. I have the programming language in quite a good shape and we use it at work.<p>I'm working on the UI now. The main idea of the UI is to get rid of telegraph-style communication paradigm of sending text and receiving text. We can actually use the whole screen now. We have text editing using full screen since 1976 (vi) but classical shells are ignoring this capability till this day. It's time to stop treating outputs of programs as if they are still printed on paper, allowing zero interactivity.<p><a href="https://github.com/ngs-lang/ngs/wiki/UI-Design">https://github.com/ngs-lang/ngs/wiki/UI-Design</a><p><a href="https://github.com/ngs-lang/ngs/wiki/UI-Chain-Design">https://github.com/ngs-lang/ngs/wiki/UI-Chain-Design</a><p>Have a nice day!</p>
]]></description><pubDate>Wed, 29 May 2024 10:31:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=40510426</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=40510426</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40510426</guid></item><item><title><![CDATA[New comment by ilyash in "Ask HN: What non-AI products are you working on?"]]></title><description><![CDATA[
<p>Next Generation Shell because I refuse to believe that UI that is limiting the interaction to single line is the pinnacle of UX that we can have today.<p>Terminals introduced cursor movement feature in the 1970s. Bill Joy responded with releasing vi in 1976. Text editing as we know it today was born. It used ... the whole screen! How the shell responded to this new feature? It largely didn't.<p>Back to NGS. The programming language is in a good shape. Working on the UI.<p><a href="https://github.com/ngs-lang/ngs/wiki/UI-Design">https://github.com/ngs-lang/ngs/wiki/UI-Design</a></p>
]]></description><pubDate>Wed, 27 Mar 2024 21:45:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=39844978</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=39844978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39844978</guid></item><item><title><![CDATA[New comment by ilyash in "Next Generation Shell – a modern programming language for DevOps"]]></title><description><![CDATA[
<p>Author of Next Generation Shell here. Questions are welcome.</p>
]]></description><pubDate>Fri, 01 Mar 2024 15:29:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=39562665</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=39562665</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39562665</guid></item><item><title><![CDATA[New comment by ilyash in "All the Major Tech Layoffs in 2024 So Far"]]></title><description><![CDATA[
<p>Personal anecdote - I see spam is way up already. I assume some of the fired people were fighting spam.</p>
]]></description><pubDate>Thu, 25 Jan 2024 03:51:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=39126005</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=39126005</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39126005</guid></item><item><title><![CDATA[New comment by ilyash in "Ask HN: Show me your half baked project"]]></title><description><![CDATA[
<p>Next Generation Shell. As a shell, it's a programming language and a UI. Half baked: programming language - pretty much done, we use it at work; UI - just starting to work on.<p>Ananlysis of what's wrong with current shells' UIs and how to fix it - <a href="https://blog.ngs-lang.org/2023/09/30/ui-in-ngs/" rel="nofollow noreferrer">https://blog.ngs-lang.org/2023/09/30/ui-in-ngs/</a><p>Project - <a href="https://github.com/ngs-lang/ngs">https://github.com/ngs-lang/ngs</a><p>Any help would be appreciated of course :)</p>
]]></description><pubDate>Fri, 13 Oct 2023 11:21:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=37869337</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=37869337</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37869337</guid></item><item><title><![CDATA[New comment by ilyash in "What Silicon Valley “gets” about software engineers"]]></title><description><![CDATA[
<p>Full title: What Silicon Valley "Gets" about Software Engineers that Traditional Companies Do Not</p>
]]></description><pubDate>Sun, 17 Sep 2023 06:56:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=37542237</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=37542237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37542237</guid></item><item><title><![CDATA[What Silicon Valley “gets” about software engineers]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.pragmaticengineer.com/what-silicon-valley-gets-right-on-software-engineers/">https://blog.pragmaticengineer.com/what-silicon-valley-gets-right-on-software-engineers/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37542236">https://news.ycombinator.com/item?id=37542236</a></p>
<p>Points: 71</p>
<p># Comments: 66</p>
]]></description><pubDate>Sun, 17 Sep 2023 06:56:08 +0000</pubDate><link>https://blog.pragmaticengineer.com/what-silicon-valley-gets-right-on-software-engineers/</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=37542236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37542236</guid></item><item><title><![CDATA[New comment by ilyash in "Python proposal (inspired by Lua)"]]></title><description><![CDATA[
<p>Thoughts:<p>Closest implemented thing that I know of that implements the solution to the stated problem: Raku's Capture - <a href="https://docs.raku.org/type/Capture" rel="nofollow noreferrer">https://docs.raku.org/type/Capture</a><p>Maybe Python can go in that direction.<p>Subjectively, it doesn't feel right to mix positional and named containers in Python.</p>
]]></description><pubDate>Mon, 28 Aug 2023 02:04:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=37288818</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=37288818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37288818</guid></item><item><title><![CDATA[New comment by ilyash in "Fish – A friendly interactive shell"]]></title><description><![CDATA[
<p>Hi. I'm Ilya Sher, author of Next Generation Shell. That's the only shell that I'm aware of that plans to do something "radical" about the UI/UX. By radical I mean something out of the telegraph style communication paradigm.<p><a href="https://ilya-sher.org/2022/12/31/telegraph-and-the-unix-shell/" rel="nofollow noreferrer">https://ilya-sher.org/2022/12/31/telegraph-and-the-unix-shel...</a><p><a href="https://blog.ngs-lang.org/2023/06/08/the-shell-vs-the-web/" rel="nofollow noreferrer">https://blog.ngs-lang.org/2023/06/08/the-shell-vs-the-web/</a></p>
]]></description><pubDate>Sun, 27 Aug 2023 06:40:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=37280017</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=37280017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37280017</guid></item><item><title><![CDATA[New comment by ilyash in "Microfeatures I'd like to see in more languages"]]></title><description><![CDATA[
<p>Not the same ergonomic.<p>The language doesn't "understand" it's a section (no opportunities listed in the original comment).</p>
]]></description><pubDate>Fri, 06 Jan 2023 05:52:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=34271483</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=34271483</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34271483</guid></item><item><title><![CDATA[New comment by ilyash in "Microfeatures I'd like to see in more languages"]]></title><description><![CDATA[
<p><i>Comments Section</i><p>In Next Generation Shell I've experimented by adding<p><pre><code>    section "arbitrary comment" {
      code here
    }

</code></pre>
and this is staying in the language. It looks good. That's instead of<p><pre><code>    # blah section - start
    code here
    # blah section - end

</code></pre>
Later, since NGS knows about sections, I can potentially add section info to stack traces (also maybe logging and debugging messages). At the moment, it's just an aesthetic comments and (I think) easily skip-able code section when reading.<p><i>Symbols</i><p>I've decided not to have symbols in NGS. My opinion (I assume not popular) is that all symbols together is one big enum, instead of having multiple enums which would convey which values are acceptable at each point.</p>
]]></description><pubDate>Fri, 06 Jan 2023 05:24:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=34271318</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=34271318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34271318</guid></item><item><title><![CDATA[New comment by ilyash in "Why I'm still using Python"]]></title><description><![CDATA[
<p>Yep. What bothers me is when you start looking at list comprehension is that you don't know if it's filter(), map(), or a combination. You have to read the list comprehension till the end to understand.</p>
]]></description><pubDate>Sat, 31 Dec 2022 07:55:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=34194532</link><dc:creator>ilyash</dc:creator><comments>https://news.ycombinator.com/item?id=34194532</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34194532</guid></item></channel></rss>