You also don’t need the dash for the short options.
True, but I refuse to entertain such a non-standard option format. It's already enough to tolerate find
's.
It's also traditional to eat raw meat, but we discovered fire at some point.
Hey, thanks for the comment. I get that it might be used for something shady, but that’s not the intention. The primary goal is to clean up raw time-tracking data into a format that’s easy to present to clients or supervisors, especially for contexts when small gaps or irregularities should be absent.
I imagine most professionals aren’t expected to account for every single minute of their workday. For example, if you’re switching tasks or taking short breaks. It’s more about reporting general productivity or overall progression of tasks, not trying to inflate hours.
Anyone aiming for 'time fraud' could probably find easier methods. My focus is to make life easier for people who already track their work but want cleaner, more digestible reports.
Appreciate the feedback though, helps me make sure the use case is clear! :)
Totally understand your perspective, and I’m not here to push back against it. You’ve got a valid point.
I’ll just add that there are already commercial tools that do similar things to what I’m building. It’s interesting to consider how perceptions might shift if a tool were released by a company rather than a solo developer. Sometimes the context influences how a tool is interpreted, even if the underlying functionality remains the same. For what it’s worth, I have no commercial intent behind this.
it's surely one of the CSS lines of all time
It was OP
Tbh these scripts are for my personal use, written in the way that makes sense for me. I only open sourced it as a joke an as an example of how reinventing your own wheel is not that hard sometimes, and comes with the benefit of doing just what you need it to do.
Actually I was thinking of adding a sysget fallback, as I might need to do some debian/fedora hacking soon.
It's Exclidraw (dark mode)
Exactly! My tool is designed to work with existing time-tracking tools by processing their output. You can think of it as a post-processor that helps clean up and format the data.
Since there are already plenty of time-tracking tools out there (both CLI and GUI), I wanted something that could act as a flexible add-on for them.
Good idea, I opened a feature request
It should be pretty soon. I've got it working already, but I need to test it more and figure out how Firefox profiles work with Playwright.
If you want you can just clone it and replace "chromium" with "firefox". It should just work, and it shouldn't take too long to figure out the rest.
When you say immutable what do you mean? Surely dotfiles are meant to change over time? Where would you like to edit them?
Will do, bossman
.bashrc:
# Prompt
# "Make it simple, just the dollar sign"
# "Say no more, fam"
# - if error code is not 0, then prepend [N] where N is the error code
# - if user is root, use red and #
blue='\e[34m'
red='\e[31m'
bold='\e[1m'
reset='\e[0m'
PS1='$( status=$?; [ $status -ne 0 ] && echo "[$status] ")\['"$blue""$bold"'\]$\['"$reset"'\] '
if [[ $EUID -eq 0 ]]; then
PS1='$( status=$?; [ $status -ne 0 ] && echo "[$status] ")\['"$red""$bold"'\]#\['"$reset"'\] '
fi
.inputrc:
# vi mode, change to 'emacs' here if you prefer
set editing-mode vi
# vi INSERT prompt
set vi-ins-mode-string "\1\e[30;44m\2 INS \1\e[0m\2 "
# vi NORMAL prompt
set vi-cmd-mode-string "\1\e[30;47m\2 NOR \1\e[0m\2 "
Setting it up in .inputrc allows more flexibility and configuration. Plus, it's shared by any other app that uses Readline for the prompt.
Cool project! I'll check it out.
Regarding userscripting, from the F.A.Q.:
Why use an external automation tool (Playwright) instead of a browser extension?
While Beachpatrol allows to control the browser from both the OS and from a browser extension, our priority was the OS. Therefore, something like Playwright was the natural choice.
Furthermore, while controlling the browser from an extensions is possible, Manifest v3 removed the ability to execute third-party strings of code. Popular automation extensions like Greasemonkey and Tampermonkey could also be affected by Manifest v3. The alternative is to embed the code into the extension, but that would requires re-bundling the extensions after every change. Other tricks do exist to make this approach work, and there is some hope for future Manifest v3 solutions, but this path is certainly tricky.
It is more likely that Selenium and related tools will continue to work in the foreseeable future given the business demand for traditional browser testing.
And what's your workflow when working with lots of files in projects with fish?
just trying to get a good mental model of when it's reasonable to use tools like awk instead of simpler unix tools. also further confirming that sed is almost never the best tool except for substitutions.
"Currently only Chromium is supported. Other Chromium-based browsers and Firefox support to be added soon."
Hey, just wondering, how using a terminal multiplexer adds "more bandwidth" to your ssh session? What do you mean by more bandwidth?
Thanks! I guess yas-bdsm is more of a minimal, "bring your own compiler" project. You end up with a folder for your dotfiles, and it's up to you to decide how to put stuff there.
That's a good point. If I need something like a bash script I tend to stick to bash features as much as possible.
Sweet
shouldn't be a problem because scripts are run non-interactively and my .bashrc
wouldn't be read, right?
Right? I wonder why this approach isn't more common.
How do you do this with vim, btw? I've looked into it before but haven't found a fully satisfying answer yet.
The source code is in the post
Yes! I use it all the time. No idea why it's not more popular
I got you, boss man. Enjoy the raw speed
Makes sense and you're probably right, but I'll tell you why I didn't do it that way:
Unlike a password manager that just logs you in, Beachpatrol can run any automation task, like checking your email, downloading files, or filling out forms. You have to create Playwright scripts for these tasks and run them from a shell command. There is an example script already in the commands folder, which you can run with the command beackmsg smoke-test
. The sky is the limit, basically.
Yes, I’ll host the source code on GitHub. I could consider mirroring it on Sourcehut if there’s enough interest, but I prefer the PR and Issues workflow on GitHub for collaboration. Plus, more people tend to have GitHub accounts than GitLab or Sourcehut, which makes it easier for contributors.
I get the concern about Microsoft, and while I’m not a fan of the company, GitHub has advantages that are hard to beat, especially for community reach. As for OpenAI potentially using the code, personally I don’t mind if my own code gets used for AI training.
I’ll be using an MIT license, in case you're curious. Everyone is free to mirror it anywhere.
Hey, I really appreciate that. I'm glad you find it useful.
answered in post
https://github.com/chubin/wttr.in/issues/854 and similar issues
Updated, thanks!
Unfortunately wttr.in produces incorrect weather reports in many cities around the world
That's fair.
I don’t really want to be confirming every file in a recursive rm or cp or mv either
Ah but rm
will only make you confirm if there are more than 3 files to be removed. And cp
and mv
only if there's risk of overwriting. And it's only one confirm per command, not per file.
just add it to your .bashrc
An existing FOSS time tracking software I like is Timewarrior (CLI)
magnificent