by cwaffles on 1/10/24, 2:00 AM with 176 comments
by lanza on 1/10/24, 3:51 AM
I don't need most of the history, but there's 0 chance in hell I'm auditing that many lines to decide what I need and what I don't need.
by cwaffles on 1/10/24, 2:01 AM
Note: I am a user, and not the author (Ellie Huxtable)
by motoxpro on 1/10/24, 6:13 AM
by ilaksh on 1/10/24, 4:50 AM
by LanzVonL on 1/10/24, 3:42 AM
by outcoldman on 1/10/24, 3:38 AM
In 2017 wrote my own bash script (later optimized for zsh) to just record everything in sqlite with hooks on prompt. [1]
I mostly work right now on Mac, don't need to support Linux anymore, so wrote an app for Mac, that syncs the history over iCloud, and has a GUI interface. [2]
Anyway, storing years of shell history somewhere, where you can do complex searches, and actually find some magic command you run a few years ago, is priceless.
- [1] https://www.outcoldman.com/en/archive/2017/07/19/dbhist/
by hiq on 1/10/24, 5:23 PM
Global aliases (which you can use anywhere, not only at the beginning) are also nice to compose aliases with each other.
by ram_rar on 1/10/24, 6:32 AM
by zubairq on 1/10/24, 7:15 AM
by alexchantavy on 1/10/24, 2:52 AM
by darkteflon on 1/10/24, 4:06 AM
by tra3 on 1/10/24, 4:56 PM
I maintain a couple of open source package for emacs -- it's a labour of love. I'm happy to help folks with their issues, but it's easy to say "sorry, I don't have capacity to add this feature" or "no, I don't think this is a good fit for the project". If I depended on this for money.. well this would change the whole approach, wouldn't it?
by sireat on 1/10/24, 8:14 AM
Looking at OP it looks like it does " recording additional command context"
Often (meaning once every few months) I have to SSH to some less used machines and remember a few incantations where path and time is crucial.
In bash there is a hacky way to add current path and timestamp to history, but I've never gotten it to work exactly right. If you add timestamp then it seems to duplicate the timestamp when you repeat the command.
by bsnnkv on 1/10/24, 4:30 AM
I just deployed this to my "everything" NixOS server with `services.atuin.enable` and synced a few of my machines up with it. Very cool! I hope this move goes well for Ellie!
by hakcermani on 1/10/24, 6:41 PM
by poidos on 1/10/24, 3:10 AM
by ptek on 1/10/24, 6:11 PM
3 Trackers with EFF Privacy badger.
Best of luck Ellie :o)
by jorisboris on 1/10/24, 3:31 AM
by lepetitchef on 1/10/24, 6:09 PM
The only feedback I want to call out is sometimes when I close the terminal tab, the atuin server may run in the background and I got a warning message.
by firecall on 1/10/24, 2:41 AM
The product is great, and I discovered it just the other day!
Via the Console email news letter I think! :-)
by thesurlydev on 1/10/24, 2:12 PM
by souvlakee on 1/10/24, 4:45 AM
by brundolf on 1/10/24, 5:49 PM
by da39a3ee on 1/10/24, 2:55 AM
by g-b-r on 1/10/24, 3:59 AM
by bdhcuidbebe on 1/10/24, 5:24 PM
dont recall i needed to dig up old commands typed, like ever.
i dont think this one is for me, but good luck!
by fuddle on 1/10/24, 6:53 PM
by k3vinw on 1/10/24, 6:16 PM
by the_arun on 1/10/24, 4:35 AM
1. If someone steals my laptop & breaks in, can they get access to all my history
2. After breaking, if they run `atuin key` will get them the key for my history which they can use from any device (if they know the userid)
3. If you are running servers passing passwords as command line arguments in that device, they have all that.
by chaxor on 1/10/24, 6:08 AM
by prakhar897 on 1/10/24, 5:31 AM
by nonameiguess on 1/10/24, 4:32 PM
The issue isn't "I can't remember how to run a command I just ran." The issue is that the universe of CLI tooling you use is too large, too inconsistent, and too complex to remember how to use them all. Conventions may be wildly different between Windows and Unix, BSD and GNU, many tools have existed for over 50 years now and have accumulated enormous feature creep. Many newer tools try to improve upon perceived complexity of past tools, but by being different, they introduce even more complexity into the overall set of tools for anyone who can't abandon the past tools. There are huge debates about environment variables, config file formats, whether parameters should use one dash or two, what even is a parameter versus an argument versus a flag, how a tool should use STDOUT versus STDERR, how it should use exit codes, whether output should be structured or free text, and nobody agrees on the answers. There is very little standardization, and where standards exist, you can't count on anything to actually follow these.
Contrasts these with the tools of a painter or wordworker. They're similar enough that learning to paint in high school art class will transfer muscle memory near perfectly to every brush and surface you ever use for the rest of your life. Creating a tool like this is throwing up your hands and saying no human can ever hope to remember how to use their tools, so they need an additional tool that remembers for them. But now we also need to remember how to query this memory augmenter, so you've introduced yet another thing to learn for anyone who isn't willing to just stop trying to learn other tools at all and rely 100% on yours.
It isn't to say it can't be useful, but you're trying to solve an ecosystem problem with a tool. You can't. At best, you can alleviate a tiny portion of the difficulty for a very small number of users sufficiently similar to you. Then you run into the culture of not having to pay for these things mentioned elsewhere. On systems like Windows and Mac, they may be paid systems, but once you pay, you automatically the full suite of system utilities and CLI tooling. BSD and GNU were free creations made largely by university professors and industy professionals in their spare time for the purpose of sharing, not for making money. Fair or not, the expectation became and will likely remain that these tools either come as part of a larger package, or they're donated from the spare time of their own users.
Exceptions are few and far between. You've got things like curl and openssl that sustain themselves reasonably well as open source CLI packages, but even those don't charge for the tool itself. They only succeed because they're so ubiquitous that if a barely perceptible proportion of users ever donate or pay for support, that is still enough. That model doesn't work if your userbase isn't virtually the entire world of computing.
by bad_user on 1/10/24, 7:37 AM
In general, people just want free stuff, companies rarely pay for support, and SaaS providers will steal your business if they can. I can think of several apps that macOS users are paying for, such as Bartender, Alfred, or MailMate. Clearly, there's a market for utilities, but only with scarcity.
by ctur on 1/10/24, 4:26 AM
The former is easy(ish); the latter is trickier since I didn't want to provide a hosted service but there aren't easily usable APIs like s3 that are "bring your own wallet" that could be used. So I punted and made it directory based and compatible with Dropbox and similar shared storage.
Being able to quickly search history, including tricks like 'show me the last 50 commands I ran in this directory that contained `git`' has been quite useful for my own workflows, and performance is quite fine on my ~400k history across multiple machines starting around 2011. (pxhist is able to import your history file so you can maintain that continuity)
by chaosprint on 1/10/24, 8:22 AM
I have a lot of feelings, but I don't have a blog so far. I feel that universities should alloc some of their funding to many of these open source projects and open source community should be better managed rather than donation. As for me, my plan is to start my own company and work on hardware .
by ellieh on 1/10/24, 7:56 AM
Happy to answer any questions :)
by xialvjun on 1/10/24, 9:21 AM
by teddyh on 1/10/24, 3:11 PM
You know how this sounds like, to me? “I quit my job to play with and walk my dog full time. I am hoping this will give me time to develop skills to eventually earn some money by maybe walking other people’s dogs, or maybe doing public performances with my dog.”
by ukd1 on 1/10/24, 5:13 PM
by ndyg on 1/10/24, 5:52 PM
by pull_my_finger on 1/10/24, 3:59 AM
by spiral09 on 1/10/24, 3:38 AM
by tpmp313459 on 1/10/24, 3:19 AM
If you do open source work for like Linux, Server or watever which is already avaiable in high cost, then It could be considerable as great hobby. Open sourcing the innovtive, invensitions aren't good in software industries they are remains fee by commericial firms. All your intentions just go waste. Most of people see this comment negative. The other side, One day come, major jobloss will directly affect you as well even you have settled well. You will understand!