Working on a FOSS tool to convert raw work time data into a clean report for your boss or client. Any interest?
from sebastiancarlos@lemmy.sdf.org to linux@lemmy.ml on 22 Sep 2024 01:43
https://lemmy.sdf.org/post/22678487
from sebastiancarlos@lemmy.sdf.org to linux@lemmy.ml on 22 Sep 2024 01:43
https://lemmy.sdf.org/post/22678487
It’s almost done (it would take one or two weeks to clean it up for FOSS release). It’s a CLI tool. It works great for my use case, but I’m wondering if there’s any interest in a tool like this.
Say you have a simple time-tracking tool that tracks what you do daily. The only problem is that there are gaps and whatnot, which might not look nice if you need to send it to someone else. This tool fixes pretty much all of that.
Main format is a JSON with a “description”, and either “duration” or a “start”/“end” pair. It supports the Timewarrior format out of the box (CLI Time tracking tool).
threaded - newest
So … it is a tool to automate time fraud?
Make sure to put this front and center on your CV
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! :)
Pretending the most important use of bit torrent is Linux ISO’s is the kind of cya that people giggle at.
If a candidate I am interviewing has a tool to change their reported hours to me or clients on their public GitHub? That person is radioactive no matter how many times they say “but don’t do anything naughty wink wink”
Am I missing something? It looks like OP has to track their time and send it to a client or superior. What is wrong with making a tool to track your time over using excel? I’m sure if they wanted it through a specific end point they would have provided that.
Tracking time is fine.
Normalizing your time to the hours you were supposed to work is a massive no no. Especially if you are expected to break down your hours per project.
I mean, you obviously do it. But you never put it in writing.
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.
Boss makes a dollar, I make a dime.
That’s why I use this app to normalize time.
Honestly I think it’s good. The amount of context switching and with breaks, working on several things at once. To normalize that down to a working day seems reasonable
It isn’t about being reasonable.
If you are expected to track your time to this degree (and, to make it clear, the majority of employers actively don’t want you to), there is a reason. That reason usually being different funding sources. Generally a mix of grants and clients.
And if a client or grant source finds out you are lying about those? Maybe you only had enough work to do 34 hours instead of 40 hours in one week. Would you be cool paying extra because the guy repairing your muffler had a slow week?
And if people think being proud of a tool that openly talks about what everyone else silently does isn’t a red flag for employers? Hey, its a great job market so I am sure none of that will matter.
The logic in the flowchart appears to take in data and mainuplate it based on normalization and ratios to fill the day. So it outputs a report with time that doesn’t precisely match the tracked data, but looks nicer for the boss.
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.
I guess if, as this person says, the intended use is made clear then presumably so long as the original logs from which the report was generated are retained then there shouldn’t really be an issue. Make your nice, digestible reports that normalise over a workday and give a more grand overview of progress, and if they smell a bit too rosy or you just sometimes need a more granular accounting of time then clients/bosses can request the original raw data from the contractor/employee. Maybe this software itself should include some ability to retain a log of the processing that was done so that the relationship between its generated reports and the source data can be more clearly audited if some kind of a trust issue arises.
The hope I guess would be that you make it clear that this is a more executive summary style of report that you’ve added as a courtesy because it’s more useful in context and that’s hopefully enough for whoever you’re reporting to but if they want more transparency or detail it’s all there for them too.
I mean if you want to do time fraud you pretty much just can. You can start tracking a task at 9am then immediately go to make a coffee and chat to a coworker until half 9 to run up the clock. You really don’t need a fancy tool for that.
However a tool to make data more digestible and readable shows a level of interest in presentation of data. I would be less concerned about that. Someone willfully doing time fraud wouldn’t advertise it.
I don’t get it.
Where’s Saddam?
I’ll head back to linuxmemes now.
Lmao, its everywhere now isnt it
Idk what it is so I guess it’s not everywhere.
I would use it, let me know if you need any testing or feedback. What is it written in?
Python
So this requires some kind of existing tracking software? Are there existing FOSS options for that part?
My current job doesn’t need time tracking (yet?, some of my work is for the sister company) but a job I worked before had us clock in and out for specific projects on a computer, but the subscription ended and we were using a UI glitch to continue using it and literally cheat engine to make it still export the files for the office to use.
Kimai is a great option
An existing FOSS time tracking software I like is Timewarrior (CLI)
As someone who works atrocius times of their own volition & has to create a clean timesheet every end of the month, this is a great idea -buyt there are too many special rules to consider imo - also I never properly track time (keep forgetting) but reconstruct work times from emails, chats & calendar entries :)
Could have some kind of floating timer window/widget in your bar so you don’t forget
The problem is working on different computers & sometimes switching back and forth between private time and work time. That’d require actual button presses or something to “clock” in/out
Ah I see. At my previous company we developed an in house clock in/out system that I always forgot to use. Never did but I wanted to build a big red button with an Arduino that clocked me in and out with the API and showed a timer
Big red button might help, but when I’m “in the zone” with coding, normally I forget everything around me :) One moment I’ll be browsing the web on my leisure time, and then I have an idea for one of my work projects, switch to that and “wake up” 8 hours later with lots of stuff done and no idea when I “clocked in” - that’s usually when I do “ls -lR” on my project folders and check file timestamps :D
This makes me glad not to be on the clock, I suck at remembering to do that stuff.
Though I tend to hyper focus on one thing for 4 or 5 hours at a time anyway
Org mode has a time tracking feature, dunno about report generation.
This sounds really cool. I have actually made something similar (unpublished and quite hacky though).
I work as a self-employed contractor and must report my times in varying standardised formats, depending on the client or agency I am working with. My input data comes from TimeWarrior (like yours) and I usually just output CSV data so I can copy-paste that into a provided excel template.
Quantizing the data is usually the most essential step as the templates often restrict accuracy. I find it strange that many of the comments here presume this kind of transformation to be fraudulent.
I do my time tracking in org-mode, and export it to JIRA once a day or so. It is quite a specific/tailored setup, written in a mix of elisp and, well, org-mode (specific names and tags are used to configure some settings), but I’d love to look at this tool to see if I can extend my workflow by using it for the “massaging into a nicer shape” part. I might end up writing some extensions for either side (org-mode input format and JIRA REST calls output format).
My current tooling quantizes everything by rounding start and end times to the nearest full 15 minutes, and starting a new task at the end time of the previous one when clocking in, so that my team lead does not have to report so many fractions of hours to higher layers.
Outputting clean reports is one thing, but “normalizing” the time to make it look better, or as though I’m more busy, is something else entirely. I appreciate the effort, but this tool has the very real potential to get a contractor or employee sued for time fraud. I highly recommend against normalization of time data. The contractor either worked a full 30 or s/he didn’t. It’s black and white. Saying s/he worked for 30 when s/he worked for 25 is a lie, and subject to lawsuits and further legal action.
“they” uses the same number of characters as “s/he” and flows more naturally
Sure, sure. But s/he reading this might appreciate the use of special characters to improve his/her password entropy.
Wao. What’s with the “edu-indoctrination”?
huh?
You will be assimilated
Ok, now I’m freaking out 😱
I’m not sure why “they” isn’t used more often to refer to the unknown. This is what we were taught back home when we learned English.
Mainly, this is because I was writing official docs, then took a quick Lemmy break, but my brain stayed “official” hahahahaha that’s all. ‘they’ should absolutely be used in this colloquial context.
No judgment at all, I’m just wondering. :)
No judgement felt lol
Someone else called me out on it, too, and I decided to have fun with it instead of fixing it hahahaha if you can’t laugh at yourself…
Don’t know why you would jump to that conclusion straight away. Mín billable hours and time spent thinking on the problem is a thing. Taking regular 5m breaks (pomodoro technique) also helps with getting things done and so on and people should be paid for it.
I mean, you should technically stop the clock if the wife calls to ask if there’s pasta at home but nobody really cares.
Adding significant amount of hours to a report would not be ethical but adjusting 10% to get paid for time laying in bed thinking about problems is still ethical from my point of view. It’s way more value than most meetings.
Your cultural context way vary.
What someone feels is ethical and what may be legal don’t always match. From a legal point of view in every country I’ve worked at as a contractor, “time laying in bed thinking about problems” isn’t billable time.
As a personal time management solution, I don’t see any issues here. As a billable time report maker, it has the very real potential to get the user into legal turmoil.
Use at your own risk and made damn sure that the laws match your idea of ethical billable hours, is all I’m saying.
I just say I worked X hours per day, above my log entries describing what I did that day. Why do they need anything more than that?
Sometimes I work on a larger project that is split up in different sub projects, that were sold separately and are maybe paid by different departments. So I need to at least spilt those up.
Also it’s often easier to follow what exactly was done, when I differentiate more between my tasks and not just put a collective line there - just like small commits are more helpful than one large one.
But maybe I understood you wrong…?
OT: What program are these diagrams made with? I’ve seen them floating around recently and really like the looks of them.
Looks like excalidraw to me, but not sure!
This looks like draw.io to me, but I could be wrong.
It’s Exclidraw (dark mode)
Thanks! I use Excalidraw occasionally, but only in light mode. Derp.
“FOSS” here doesn’t mean hosted exclusively on proprietary Microsoft GitHub, right?
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.