HNHacker News
TopNewBestAskShowJobs

JNRowe

7,427 karma · joined February 3, 2014

username at gmail.com ; Feel free to get in touch.

[ my public key: https://keybase.io/jnrowe; my proof: https://keybase.io/jnrowe/sigs/orH3nyNqAK4vkIpcxn2HRihHPV2HX80SyDwM9cR5xnw ]

submissionscomments
JNRowe··on Os.js – open-source JavaScript web desktop platform with a window manager
Eterm used to have a support pack with some nice backgrounds for tiling, which sadly appears to be more difficult to find than it would've been a decade ago. I did find a mirror¹, but that is purely because I remembered the filename for some strange reason. Some of the textures in tile/ are still quite nice, but not all of them work so well with our modern higher resolution displays from a quick play.

¹ https://distfiles.macports.org/Eterm/Eterm-bg-0.9.6.tar.gz

JNRowe··on Hacker News Guidelines
In the specific instance of a "thanks" message, I'll somewhat regularly send an out of band message to say thanks for helpful replies(or general comments). It doesn't pollute the threads for others, and I'd like to think the added cost of a personal note gives the reader a sense of the value I found in their writing.

I'm yet to have any pushback on sending a thank you note, but who knows maybe it will upset some people in the future ;)

Which - I guess - also deserves a "add some contact details to profile" note.

JNRowe··on Microsoft is bringing Python to Excel
I have to second that, it seemed to be a great tool. I've often wondered why it couldn't get traction¹. I can recall people gushing about it at what may have been the same Python meetup in London, and also people being impressed enough by it at a Haskell meetup that they were lamenting an imagined lost opportunity to shove a "real language" in to a spreadsheet ;)

I'd always kind of assumed that the target audience would have appreciated the IronPython use, as the .net ecosystem would likely have been more valuable to them. Having just looked I see that numpy wasn't available on IronPython until 2010, and I'm sure that would have been useful to have a little earlier.

¹ Pretty sure I've referenced it here a few times too.

JNRowe··on GNU Parallel, where have you been all my life?
[I'm not recommending this, but maybe… No, no. I'm not sure…]

It isn't even just the newer shells that have solved this, zsh also has a solution out of the box¹. The extensive globbing support in zsh can largely replace `find`, and things like zargs allow you to reuse your common knowledge throughout the shell.

For example, performing your first example with zargs would use regular option separators(`--`), regular expansion(`{1..5}`), and standard shell constructs for the commands to execute.

I'll contrive up an example based around your file counter, but slightly different to show some other functionality.

    f() { fs=($1/*(.)); jo $1=$#fs }
    zargs -P 32 -n1 -- **/*(/) -- f
That should recursively list directories, counting only the files within each, and output² jsonl that can be further mangled within the shell². You could just as easily populate an associative array for further work, or $whatever. Unlike bash, zsh has reasonable behaviour around quoting and whitespace too.

Edit to add: I'm not suggesting zargs is a replacement for parallel, but if you're only using a small subset of its functionality then it may be able to replace that.

¹ https://zsh.sourceforge.io/Doc/Release/User-Contributions.ht...

² https://github.com/jpmens/jo

³ https://github.com/stedolan/jq

JNRowe··on 20 Years of Vim
I perhaps shouldn't have said "bad," as my opinions sadly aren't universal truths ;)

However, my reasoning is the same as noted in echelon's reply. There are often far better ways to move around as described in ":h text-objects" and ":h motion.txt" more generally.

JNRowe··on Sorting in Emacs
I lean a fair bit in the opposite direction. If a sort is any more complex than -n or -k<number no flags>, I tend to vipe¹ my sort in my editor.

It feels great when you can use narrow-to-region² to perfect a complex address or write a custom function with all your editor's power at your fingertips. With the sad, but obvious, drawback that the changes aren't linked in your disjoint shell and editor history.

¹ https://manpages.debian.org/jessie/moreutils/vipe.1.en.html

² Nowadays, that is more likely https://github.com/chrisbra/NrrwRgn for me.

JNRowe··on 20 Years of Vim
I really can't recommend Drew Neil's resources enough. The vimcasts¹ series are great if you're the sort of person who likes videos to learn with, and both his books are excellent²³. [The books may appear to be getting a little long in the tooth, but their contents are still very applicable to today's usage.]

My own "trick" for improving my vim usage was to start mapping things to <Nop> that have better replacements, it is a great way to shock yourself out of bad habits like hjkl movements or reliance on /. Then again, I think text-objects and the items below it in motion.txt are the main to use vim so YMMV.

¹ http://vimcasts.org/

² https://pragprog.com/titles/dnvim2/practical-vim-second-edit...

³ https://pragprog.com/titles/modvim/modern-vim/

JNRowe··on Oils 0.17.0 – YSH Is Becoming Real
1) In the specific instance I hit when I wrote that comment I wanted a variant of `**/*(.Om)`, which gives me files sorted by mtime. I think I'd probably have ended up with a `find ... | xargs stat -c '%Y-%n' | sort -n | sed "s,^[0-9]\+-,,"` construct if I'd kept at it, but I'm sure there are some more reasonable ways I'm struggling to think of right now with my extended glob blinkers on.

2)

Yeah, I'd go the fish route if I had to do the work too ;) It is a huge step up from bash-completion, whilst still being easy to understand.

zsh's completion is unbelievably powerful, but also exceedingly complex once you move beyond basic file completion. Anything beyond even the most basic example tends to be littered with other zsh-isms too(said with the love of someone who submits such monstrosities to projects on a semi-regular basis).

[Edit: I just spotted a patch I submitted to bash-completion almost twenty years ago², I've been chasing this "perfect tooling" tail for a long time.]

3)

zsh allows fully customisable interactions by defining custom widgets within ZLE¹. Like many things with zsh they're super powerful once you work your way through the learning curve.

I have added a few `$if oil` blocks to my ~/.inputrc to workaround a few of the edit sequences I like to have available, but beyond the built-in readline functions and basic mappings readline feels quite limited to someone accustomed to zle. I'd just have to get used to some of the other functionality needing to be external tooling, and extracting things out of the shell would probably make a lot of sense anyway.

--

Also -- if you made it this far -- let me reiterate how much I appreciate the work you're doing. I've learnt heaps reading through both your posts in the blog and your comments here!

¹ https://zsh.sourceforge.io/Doc/Release/Zsh-Line-Editor.html#...

² https://github.com/oilshell/bash-completion/commit/24ab16438...

JNRowe··on Oils 0.17.0 – YSH Is Becoming Real
[My bad, I wasn't very clear in my comment.]

I do use `fd` in simple cases as it is sooooo fast, but it has quite limited functionality compared to zsh's extended glob syntax¹. I must add that `fd` is one-billion times more readable when you're flipping back through your history or extracting a short script with `fc`.

¹ https://zsh.sourceforge.io/Doc/Release/Expansion.html#Filena...

JNRowe··on Oils 0.17.0 – YSH Is Becoming Real
I really want this to succeed¹, but I struggle to use it. How are people that are testing/using it coping without the normal niceties of their regular setup? I'm wondering if there are just some tricks I'm missing.

Off the top of my head, things I'm thinking of include:

* Just a minute ago realising that without zsh globs I have to remember find syntax, and then have to figure out how to sort the results(probably decorate →sort(1) → undecorate). My laziness led me to just C-d and execute my task with zsh.

* No context sensitive completion; I don't realise how much I rely on this until it is gone. Using bash-completion gets some completion, but it is a big step backwards.

* No programmable input, you can fake some with ~/.inputrc hacks but only basic text support(no macros). (Edit to add: The guard name is "oil" not "osh", if you're looking to do this yourself.)

There is a document in the wiki², but it doesn't really cover much. I'd be interested in seeing the configs of people who are using it.

--

Should say I really like the idea of hijacking '#!/bin/sh' to inject osh, it feels like a really good way to round out testing of scripts you'd otherwise forget about. I wonder if a LD_PRELOAD'able solution that would work outside osh would be a good idea.

¹ Strong déjà vu on this comment, but if it is real it is because I truly like the goals set out for oil.

² https://github.com/oilshell/oil/wiki/How-To-Test-OSH

JNRowe··on Piano Emulator in Your Terminal
Somewhat related: textual-paint¹ which uses the same interaction library, and was recently discussed here². I'm noting this purely because I'm enjoying the increasing frequency of rich³/textual⁴ posts, it hints at a latent desire for computing closer to how I enjoy it ;)

¹ https://github.com/1j01/textual-paint

² https://news.ycombinator.com/item?id=36859880

³ https://github.com/textualize/rich

⁴ https://textual.textualize.io/

JNRowe··on Qalculate – A multi-purpose cross-platform desktop calculator
With zsh you can call it with the noglob builtin¹, that way it doesn't try to parse the bracketed section as a globbing pattern; if that works for you, then you can simply "alias qalc='noglob qalc'" for future use.

¹ https://zsh.sourceforge.io/Doc/Release/Shell-Grammar.html#Pr...

JNRowe··on Pure Bash Bible (2018)
There was a really awful and amazing floating point implementation posted here¹ a couple of years ago, with a few interesting comments too². I remember it in part because I was surprised there wasn't more discussion.

¹ https://github.com/clarity20/shellmath

² https://news.ycombinator.com/item?id=26250743

JNRowe··on Pure Bash Bible (2018)
Unless I'm misreading your comment, zsh does provide similar functionality via zsh/mapfile¹. It, and a lot of other cool stuff, is documented in zshmodules(1).

¹ https://zsh.sourceforge.io/Doc/Release/Zsh-Modules.html#The-...

JNRowe··on The Lonely Work of Moderating Hacker News (2019)
Some time back I sent a "thank you for moderating" note, and about a minute after I hit send it dawned on me that the hn@ inbox was probably also collecting a few "I'm being silenced" mails at around the same time. It was that realisation that made me appreciate the moderators here all the more, as I'd give up about five times a day if faced with the task.
JNRowe··on The Lonely Work of Moderating Hacker News (2019)
There was an extension¹ posted a few years ago² which implements blocking on the client side. The possible issue is there may be some users who you wish to block in the general case that do add value in other threads, so you would have to weigh up those decisions.

However, it feels like a bad idea to me, if only because it reduces community building and curation a little. Without a mass of users taking action via flagging or reporting on community problems the end result will surely just tend towards submissions and comment threads that are simply garbage, as that is what new users would see as the social norms.

All that said, I wouldn't blame people for using it. There do seem to be a few members of this community that I'd not want to know in real life, and given their comments in some threads they'd not want to know me either ;)

Edit: I see you mentioned an extension in another thread, and this may be the same one. Still, I'll leave this here in case others want to see the links.

¹ https://github.com/morgante/hn_blocklist

² https://news.ycombinator.com/item?id=10005699

JNRowe··on SQLite Package Manager
There are far more public extensions than I realised¹, many of which look really interesting… and some of which I've made crappy versions of myself.

¹ https://sqlpkg.org/all/

JNRowe··on Debian riscv64
Like always, it depends. The hardware section on the wiki lists some device specifics¹, and if you follow the OnDebian² links there are a couple that look like they might work-ish out of the box. Presumably -- or perhaps hopefully -- things will improve quicker with mainline Debian as an option and hardware becoming more available.

In the context of Debian, let us hope people aren't flashing a BSP³ in the hope of improved board support ;)

¹ https://wiki.debian.org/RISC-V#Hardware

² https://wiki.debian.org/InstallingDebianOn

³ https://wiki.debian.org/BSP

JNRowe··on Government URLs that don't end in .gov
There was an interesting use case for the early zero language code. It allowed the checksum to remain intact when switching from early SBN to ISBN, all you had to do was prefix with zero. It isn't quite so simple today, if you find an old British book you can't simply tack a zero on the front.

It is mentioned in the Wikipedia link, but buried a little. I realise ISBN history is the epitome of super-nerdy, but the evolution path from $just_some_retailer through to the Bookland "country" is really quite interesting from an interoperability perspective.

JNRowe··on Show HN: Gemini web client in 100 lines of C
Not OP, but the one that sticks in my mind¹ with comments². Although, I also could've sworn I commented on it :/

¹ https://nullprogram.com/blog/2023/04/29/

² https://news.ycombinator.com/item?id=35758898

JNRowe··on The fastest driver in Formula 1
f1metrics¹, which is sadly no longer updated, contains an awful lot of historical analysis on F1 team and driver ranking, often peppered with rabbit hole footnotes. If you also get your thrills from excessive gnuplot output, it is worth a look ;)

¹ https://f1metrics.wordpress.com/

JNRowe··on Gameboy Camera Gallery
Related: 2bit Astrophotography with the Game Boy Camera¹, which features a few surprisingly large accompanying photos.

¹ https://pietrow.net/astrogb.html

JNRowe··on Can cricket crack America? New T20 league aims to take US by storm
I think if I was going to attempt to push cricket to a new audience I'd take The Hundred¹. Simpler to explain, predictable timings for media, added entertainment sparkle as part of the design format.

As a light cricket fan², I take this position because I've spoken to the moany old folk who complain about The Hundred because "it isn't cricket". I think that is the advantage of The Hundred, and only to a much lesser extent T20.

I'm of the opinion you can't sell red ball to new markets because it is awful… unless you grew up with it. And, The Hundred is as far from red ball as cricket can get.

¹ https://en.wikipedia.org/wiki/The_Hundred_(cricket)

² Was checking for tickets just this week, but not fussed enough to write a sniper bot ;)

JNRowe··on Libxo: Easy way to generate text, XML, JSON, and HTML
Every time I see this I'm hoping that it has taken off, because it feels like such an obvious improvement. Instead of that we have some support for it in FreeBSD, and a homegrown solution in some packages like util-linux. Yeah, there are some concerns, but the concept seems sound and the implementation can be iterated upon.

For instance, years later and it still isn't packaged in Debian. If nothing out of the tens of thousands of Debian packages has a dependency on it there presumably must be a good reason.

It strikes me as one of those libtermkey¹/libvterm things where Leonerd pushed it for years before anybody really used it, despite it being a seemingly obvious improvement over the status quo.

¹ https://www.leonerd.org.uk/code/libtermkey/

JNRowe··on Ask HN: Where do I find an archive of all those “Built With Notepad” graphics
Perhaps it was this¹ impressively huge archive?

The main index² on that site is such a masterpiece, I'm unsure whether it is art or satire or satirical art. Regardless, pure genius for my overloaded from all the movement eyes.

¹ https://cyber.dabamos.de/88x31/index.html

² https://cyber.dabamos.de/

JNRowe··on Canadian Court Rules Emoji Counts as a Contract Agreement
Discussed recently, with lots of comments¹.

¹ https://news.ycombinator.com/item?id=36643278

JNRowe··on Wayland on OpenBSD
Loads of commentary on the original source from a day or so ago¹.

¹ https://news.ycombinator.com/item?id=36659859

JNRowe··on Canadian judge rules thumbs-up emoji can represent contract agreement
Discussed recently, with lots of comments¹.

¹ https://news.ycombinator.com/item?id=36643278

JNRowe··on Show HN: What CNN looked like in 2003
That is not what "Show HN" is for¹, but the idea of a curated collection of "On This Day" event reports from the wayback machine sounds like a nice idea to me now ;)

¹ https://news.ycombinator.com/showhn.html

JNRowe··on Phlogiston Theory
There is no backref, but the Magic Smoke¹ article to this one.

I've always quite liked both topics as seemingly reasonable explanations for observed behaviour, there is something both quaint and fun about them from a modern eye.

I saw a talk at the RIGB a few years ago where the speaker took a funny walk through things that had been pushed there over the centuries, and how our understanding has changed since. It was hugely entertaining, and very informative on the process of progress. [secretly hoping someone finds a recording and posts a link]

¹ https://en.wikipedia.org/wiki/Magic_smoke

← PreviousPage 5 of 21Next →