HackerTrans
トップ新着トレンドコメント過去質問紹介求人

LarryClapp

no profile record

投稿

Show HN: Hucksh – A shell with a very good memory

93 ポイント·投稿者 LarryClapp·3 年前·66 コメント

コメント

LarryClapp
·8 か月前·議論
I mean, you don't really know that, do you?

Maybe Tuesdays tend to be a big day for me, and instead of "down for a day", it's "lose almost a quarter of my income for the month".

Cloudflare is pretty pervasive, there are all kinds of people and businesses, in all kinds of situations, impacted by this.
LarryClapp
·3 年前·議論
I don't follow. A "corporation" is just an entity that's filed articles of incorporation with the appropriate government office. You can have a single person that owns a corporation or LLC. (Source: I own an LLC.)
LarryClapp
·3 年前·議論
Yeah, I've worried about this a lot. Perhaps there's someone I could hire to give hucksh a clean bill of health. I wonder how much Bruce Schneier would charge? :) (That's a joke; I'm confident that, even if he'd do it, I couldn't afford him. But something like that is what I'm thinking of.)

Googling "security audit my code" finds several companies that offer such a service. My concern would be (aside from the admittedly non-trivial benefit of just having better code), would it make a difference to anybody that was on the fence about it? I suspect that the matrix of "potential customers" vs "what auditing service they'd trust" is large.

Thank you for the comment.
LarryClapp
·3 年前·議論
I've read your comment a couple of times, and I think (maybe) I finally understand it.

I don't think hucksh (or any shell) could provide an automatic way to undo some series of arbitrary commands. If nothing else, "/bin/rm" is forever, generally speaking.

What it could do is let you select individual commands and then automatically combine them all into a single command that you can save or copy&paste to someone else. Right now, the UI shows the command ID, which is a database key, so you could do something similar yourself, something along the lines of

  hucksh sql "select command
    from command_history
    where id in (101, 103, 105, 107, 109)
    order by id"
where the "101, 103, 105, ..." are the IDs of the commands you entered and want to reify into a single "one-liner". Noting them and entering them by hand would be a drag, but it'd work.

Hope this helps. If I've misunderstood you in some way, let me know. Thanks for your comment, regardless. :)
LarryClapp
·3 年前·議論
Please give the trial version a shot before using it (literally? :) in anger.

It's as good and stable as I can make it at the moment, but I'm not going to pretend it's, you know, absolutely rock solid against anything you can throw at it, and I'd hate for it to crash out from under you in the middle of a competition.

On the plus side, of course, if it does you should be able to just restart it and be on your merry way; that's what I do. :) So maybe it'd be fine.
LarryClapp
·3 年前·議論
> commercial non-OSS with a perpetual license at least means you can keep using an old version as long as you can manage

That's what hucksh has. Today's license will work with today's code (and code released in the next year) forever. Sorry if that was unclear.
LarryClapp
·3 年前·議論
> Thanks, I've bought a license now.

Thanks, that's awesome!

> Is there a publicly accessible changelog anywhere?

Not at present. I'll definitely do one for future releases. I added a reminder in my Makefile, too :) . Thanks for pointing that out.
LarryClapp
·3 年前·議論
It's the former. A license today will work with today's code forever.

I am not a fan of subscription software, and as much as I would love a recurring income, I don't want to inflict that on my users, if I can avoid it. At the same time, I think it's fair to try to have some way to fund ongoing improvements. It's a delicate balancing act.
LarryClapp
·3 年前·議論
It's really not. But if it were, that seems strangely apropos for something calling itself a shell.

  mvdan/sh | gio | darktile
:)
LarryClapp
·3 年前·議論
Thanks! Yeah, improving the state of the art beyond TTYs is a core idea of hucksh.

> ... radical free software purist ...

Yeah, I get that. Someone on Reddit mentioned the same thing. No worries. I'm definitely a fan of free software too (Vim user since, like, 1995, to name one), just not a purist.

I'll take a look at Arcan.

Cheers & thanks again!
LarryClapp
·3 年前·議論
> I see this as capture of processes -- their invocation, context, and results -- in a relatively normalized form for analysis and re-use.

That's a nice, neat, concise way of putting it. Thanks.

> There are many possible applications based on analyzing these ...

Those are some neat ideas. I'd certainly have to talk about them with some real users to understand the demand and use-case. I think the easy sharing I mentioned could go a long way to achieving that goal.

You can also already pretty easily extract just the commands run, to (as you put it) hoist it into a larger script or workflow. E.g. in my current instance, `hucksh sql "select command from command_history where id > 2863 order by id"` dumps out the most recent 10 commands you ran.

> No one likes to have this level of intrusion or monitoring, but everyone seems to accept running code in containers, so if this were built in to the container, it might be easily deployed and widely accepted.

Hmm, perhaps.

That does give me an idea for another use-case for hucksh in containers: mount the hucksh database file into a container, across invocations, to have a more seamless history of working in the container.

> A more narrow goal based on the current implementation could be to build and maintain a library of bash functions or scripts, possibly shared by a team.

Indeed. That's where I was going when I said "I hope in the future to make it easy to share history, which could help with new employee onboarding, [etc]."

> My goal is always to migrate any bash that gets big [...]

Yes, I agree.

Thanks again for your comment. Some neat stuff here.
LarryClapp
·3 年前·議論
:laugh: Indeed! Thanks!
LarryClapp
·3 年前·議論
Thanks!
LarryClapp
·3 年前·議論
All of that is fair and I appreciate the comment. Hmm.

#1 - I could fork an instance of bash for every command instead of using an internal interpreter. I've shied away from that because it adds an extra layer of complexity, and also on the theory that if you're trying something that hucksh can't run by itself, then you should probably write a stand-alone script anyway. But perhaps as an option it'd help ease the transition or make people more willing to try it.

#3 - A Windows version is possible. Hucksh has worked there in the past. I think my hurdle there is a build error on Windows in one of the libraries I use. It's probably one of those things that when I actually look closely at it, it'll take an hour to fix, but so far I haven't. More fool I, perhaps.

I also shy away from Windows a tiny bit because it's not my primary platform (macOS), or even my secondary platform (Linux), and the Windows file system structure (with drive letters and so on) requires different code.

On the other hand, a Windows client talking to a Linux server would cover a big use-case.

#4 - If enough people buy it, I could hire other people! ;) I realize that doesn't make it any easier to be an early adopter.

#5 - Would you care to speculate on what you think is a fair price?

Also, based on your other comment, I've added a discount code for 90% off (HN-1223).
LarryClapp
·3 年前·議論
Use code HN-1223 at checkout for 90% off ($40 -> $4) a license key through the end of the year. (... Which is a lot closer than it used to be, sigh. Time marches on.)
LarryClapp
·3 年前·議論
Correct, it's not open source. I did mention that it's a commercial product, but of course some commercial products are also OSS. Mine is not.

> I would want to see a lot more justification for why this is closed

I'm not sure what justification I can offer besides "because I want to try to make a living selling my own software, starting with this product, and I think that'll be easier if it's closed source".

We might certainly differ over price points or value added. Pricing is a bit of a black art and this is my first commercial software product. (As I mentioned in another comment, I'm happy to offer a discount code, if that would help and not get me banned.) Like, would you be happier if it were 1, 5, 20 dollars? Or does the price, as such, even bear on the open-vs-closed question?

I'm unclear on how you (or I) would correlate "added value" or "private lines of code" vs. "justification for being closed source".

Thank you for your comment, this is an interesting discussion.
LarryClapp
·3 年前·議論
Thanks, that's weird. The ones in the post are clickable on my end.
LarryClapp
·3 年前·議論
Thanks, I wasn't aware of resh. (They don't call it "re.sh"?)

If I'm reading the resh page correctly, they search the history of the commands you've run, but don't store or allow searching of the command output, or do any of the other historical features hucksh offers.

Also, it appears that all such searching happens server-side; in hucksh it's all client-side. If you have a fast connection, that admittedly wouldn't matter much; where I live, I'm on cellular or satellite and sometimes the latency suuuucks.

Would you care to speculate on what price-point would work for you? Everywhere else I've posted (mostly Reddit) I've offered a discount code. I saw zero guidance about that in the "Show HN" rules or guidelines, and I didn't want to be banned, so I didn't mention it. But happy to offer one here if it's okay to offer.
LarryClapp
·3 年前·議論
Ha, fascinating. (And thanks for trying it out!)

So would a tarball on Github put you off, do you think? Would you prefer a raw directory listing from Apache at dl.huck.sh (et al)?
LarryClapp
·3 年前·議論
Thanks, that's valuable feedback. I do have huckridge.com (a Wordpress site), and some others like huck.sh (which mirrors huckridge.com), but I've been using Notion and Dropbox so as to focus on my product and outsource stuff that wasn't in my core competency, if that's the right word.