HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
MoserMichael
rzgrep
Go2022–2022
MoserMichael / rzgrep

rzgrep

grep utility that searches through zip,jar,ear,tgz,bz2 in any form of nesting; it can also decompile class files

2Distinct people
3Mentions
0Explicit recommenders
8GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

grep utility that searches through zip,jar,ear,tgz,bz2 in any form of nesting; it can also decompile class files

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour3 dated mentions

Observed mentions: 2022-04-12 22:43:27 UTC to 2022-04-13 07:19:58 UTC.

012022-04-12 22:00:00 UTC to 2022-04-12 23:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsApr 12, 22:002022-04-12 23:00:00 UTC to 2022-04-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-04-13 00:00:00 UTC to 2022-04-13 01:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-04-13 01:00:00 UTC to 2022-04-13 02:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-04-13 02:00:00 UTC to 2022-04-13 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsApr 13, 02:002022-04-13 03:00:00 UTC to 2022-04-13 04:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-04-13 04:00:00 UTC to 2022-04-13 05:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-04-13 05:00:00 UTC to 2022-04-13 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-04-13 06:00:00 UTC to 2022-04-13 07:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-04-13 07:00:00 UTC to 2022-04-13 08:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsApr 13, 07:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 12, 22:002022-04-12 22:00:00 UTC2022-04-12 23:00:00 UTC101
Apr 12, 23:002022-04-12 23:00:00 UTC2022-04-13 00:00:00 UTC000
Apr 13, 00:002022-04-13 00:00:00 UTC2022-04-13 01:00:00 UTC000
Apr 13, 01:002022-04-13 01:00:00 UTC2022-04-13 02:00:00 UTC000
Apr 13, 02:002022-04-13 02:00:00 UTC2022-04-13 03:00:00 UTC000
Apr 13, 03:002022-04-13 03:00:00 UTC2022-04-13 04:00:00 UTC000
Apr 13, 04:002022-04-13 04:00:00 UTC2022-04-13 05:00:00 UTC101
Apr 13, 05:002022-04-13 05:00:00 UTC2022-04-13 06:00:00 UTC000
Apr 13, 06:002022-04-13 06:00:00 UTC2022-04-13 07:00:00 UTC000
Apr 13, 07:002022-04-13 07:00:00 UTC2022-04-13 08:00:00 UTC101

What Hacker News says

3 sources
I think so, too, but only because that’s idiomatic go. In general, it’s not a good idea to have functions that logically return a value or an error return a value and an error. If you use go, that’s what you do, though. I see that that was changed already (https://github.com/MoserMichael/rzgrep/commit/764b9ad61a5dbe...) I think I would not return “ctx.data[0]” for the value returned in case of error, though. That runs the risk of users processing items multiple times if they forget to check for errors. I would use either - a fresh new instance of T - a special instance of T created once (could be passed in to NewCBuf as a value with, to the user, obviously incorrect contents) The first is cleanest, but may not be performant if creating T’s is costly. The second may be risky if the returned items are mutable and the caller changes them.
In When to use generics
I see, was under the influence of Java, where almost everything is an object reference. Now how do I return an error in the case that Pop is called on an empty buffer? I can return nil for a call on an empty buffer func (ctx *CBuf[T]) Pop() *T { but I could return any value for an error, and indicate with the second return value if the call succeeded. func (ctx *CBuf[T]) Pop() (T, bool) { I fixed the class, so now it looks as follows: https://github.com/MoserMichael/rzgrep/blob/master/src/cbuf/... Thanks! Still, I am feeling a bit uncomfy with returning a garbage value with the the error indication, even if that counts as being more idiomatic. I keep wondering, why golang doesn't have an Optional monad in its standard library, like they do everywhere else.
In When to use generics

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.