For the finance and managing contractors, I use Kimai [0]. It can track your time, manage your customers, projects, your team, expenses and even generate your invoices. I only use it for tracking time, managing customers and projects and generating invoices.
My full finances are stored in Notion 1, this is because I can access that anywhere, and I can use the built-in table functions to calculate my VAT and tax. When I started, I also used Notion as a CRM that I logged customer/prospect interactions with, but that faded out after a while.
Confusing pricing for Kimai. Start for free for hosted but I can't find the pricing anywhere on the website but I found a blog post about how it's no longer free. Do you pay for it and try to host it?
I self-host it. But you can also use the SaaS version. The pricing for that can be found here: https://www.kimai.cloud/pricing
Currently, this is:
Standard
€2.99 Annual €35.88 per user
Project time-tracking
Billable and non-billable hours
Invoicing
Data export
Audit logs
Industry-specific translations
Personal Support
Professional
€3.99 Annual €47.88 per user Most popular
All the features of "Standard"
Overtime account
Public holiday, vacation, sick leave
Expense tracking
Custom fields
Task planning
Daily backups for download
Single Sign-On with SAML
Custom domain with SSL
Access restriction via IP
Annual plan: less bookkeeping
For example; the finances for each company should be submitted to the national tax department each quarter. I configured the Notion tables to group them by quarter of the year. For each of these quarters, it will automatically configure the income, outgoing and the result.
pw stands for Pipe Watch. This is a utility which continuously reads textual input from a
pipe or pipe-like source, and maintains a dynamic display of the most recently read N
lines.
If pw is invoked such that its standard input is a TTY, it simply reads lines and prints
them in its characteristic way, with control characters replaced by caret codes, until
end-of-file is encountered. Long lines aren't clipped, and there is no interactive mode.
The intended use of pw is that its standard input is a pipe, such as the output of another
command, or a pipe-like device such as a socket or whatever. In this situation, pw ex-
pects to be executed in a TTY session in which a /dev/tty device can be opened, for the
purposes of obtaining interactive input. The remaining description pertains to this in-
teractive mode.
In interactive mode, pw simultaneously monitors its standard input for the arrival of new
data, as well as the TTY for interactive commands. Lines from standard input are placed
into a FIFO buffer. While the FIFO buffer is not yet full, lines are displayed immedi-
ately. After the FIFO buffer fills up with the specified number of lines (controlled by
the -n option) then pw transitions into a mode in which, old lines are bumped from the
tail of the FIFO as new ones are added to the head, and refresh operations are required in
order to display the current FIFO contents.
The display only refreshes with the latest FIFO data when
1. there is some keyboard activity from the terminal; or
2. when the interval period has expired without new input having been seen; or else
3. whenever the long period elapses.
In other words, while the pipe is spewing, and there is no keyboard input, the display is
updated infrequently, only according to the long interval.
The display is also updated when standard input indicates end-of-data. In this situation,
pw terminates, unless the -d (do not quit) option has been specified, in which case it pw
stays in interactive mode. The the end-of-data status is indicated by the string EOF being
displayed in the status line after the data.
The "triggers" seem to be the difference. The video shows it tailing strace, and only waking up the display and dumping data when it sees the poll() system call in the strace output.
Then they show a fancier example of a specific pattern of recvmsg(11,...) happening a specific amount of lines below poll(). That ends up showing the flow of data to a specific socket.
Or without triggers, it only shows you the latest when you tap the space bar or some other key.
pw has no tail -f functionality; it doesn't monitor whether a file that has reached EOF will start growing again. If you do pw < file, it will just read to the end and then exit. Or else stay running with pw -d, but without reading any more data. But it can make sense to do this:
tail -f logfile | pw
the main behavior change that pw will introduce is that during periods when the logfile is rapidly growing, it will prevent spewage to the terminal. It will only update when there is a lull in in the output exceeding the short timeout (default: 1 s), or else once every long timeout (default: 10 s). (These values were hard coded at first, then they became command line options, then dynamically adjustable too).
The development of pw was inspired by a discussion in the GNU Coreutils mailing list by a user wanting behavior along these lines from tail itself.
Then the other feature ideas came.
For instance pausing: we can suspend the display indefinitely. With tail -f, that's easy: you can just kill it. You can't kill a program that's taking input from a pipe without breaking the pipe, though. You can pause the terminal output, but not indefinitely without causing a backlog that could block the producing application, and when you resume, all the backlogged spewage will show.
I like the tool a lot. I think people are still generally a bit confused about what it is, and the beginning of the man page is quite mechanistic, describing the implementation and leaving it up to the reader to interpret why that is useful.
The reasons I like it are that it's "an interactive streaming text viewer", along the lines of a readonly text editor designed for presenting inhuman amounts of data in a way that's useful for us humans. Think of the times you want to use your favorite text editor to interactively search and inspect streaming data, but can't because the stream is continuous.
- doesn't stream characters to the screen so fast that humans can't read it
- allows for interactively searching the stream and showing context
- operates on a large ring buffer, so all of this can be done without ever attempting to read a fixed subset or the entire stream
I would be surprised that the author wasn't using WebM to get a smaller filesize (not to mention higher quality) but the project itself leads me to believe that the author has a lot of free disk space to use
There’s no need to make further assumptions about the author (who btw took the time to build a very useful tool and share to in the Internet for free). Just point out the issue of the GIF and move along.
I think you missed something here; parent wasn't insulting the author. They were inferring that someone who made an archiving tool probably has resources that help with archiving (bandwidth means access to documents and storage space means a place to save them-- you get the idea).
I've been thinking for some time to try NixOS on some Pi's I have, as I need a few with very similar config. Bookmarking this for some Easter tinkering.
I guess it's obvious when you know NixOS, but for a n00b like me, perhaps point how exactly you used this. Like did you manually install it like the doc goes on about or did you create your own SD card, if so how?
Some links to existing stuff would be plenty fine.
Certainly Epic is in a place that other Apple customers are not, in having the user base to profitably run a competing App Store. But I haven't heard any where that Epic wants an exception and fuck everyone else. Apple might do that if it shut Epic up, but they could also make TOS changes that made their customer relationships unilaterally less one-sided, and that would be less "exception" than "change". (at which point "crying" might better be described as "arguing" or even "protesting")
I don't particularly like either company here, but Apple using its market power to inhibit competition certainly sounds like the bigger problem.
> But I haven't heard any where that Epic wants an exception and fuck everyone else.
Apple has made a few filings documenting this, including that Epic specifically asked for a side letter to the standard developer contract granting them special treatment.
My full finances are stored in Notion 1, this is because I can access that anywhere, and I can use the built-in table functions to calculate my VAT and tax. When I started, I also used Notion as a CRM that I logged customer/prospect interactions with, but that faded out after a while.
[0]: https://www.kimai.org/
[1]: https://www.notion.so/