LarryClapp
Joined 10 years ago
Joined 10 years ago
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.
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.
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. :)
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.
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.
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.
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.
mvdan/sh | gio | darktile
:)> ... 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!
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.
#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).