July 01, 2025
uhm yeah i forgot waht i did mb. mostly just bug fixes and general floww improvements. I also got the web version working fully (it's a docker container that refreshes for each user) so you can test without downloading). I did have to remove some functionality from the web version tho (auto detection of key) and offline now uses a sample file
Added - full asynchronity, time filtering for offline heartbeats, development mode
i fixed and the offline heartbeats feature to no longer disregard begin and end times. i also added a development mode which prints out the URL + headers for future api development. I finally added asynchronous calls, which significantly reduces time for multiple calls (and single calls to surprisingly), by a factor of 10%-50% (depends on speed of hackatime api, but 10% is generally the lowest)
Added - User Overview, offline stuff and website version, some asynchronous stuff
i finished off the user overview, which shows everything about a user (or yourself) if you just want a quick glance. After that i worked for a bit of time on the website version, which runs on nest using docker, and then exposes a terminal online (WIP, so not shown).After that, i worked on the offline feature. This parses the offline heartbeats file to show what activity you've done offline (who would've guessed)
there's other stuff too but i forgot
Added - Limit Paramater, Range Parameter, Languages Overview + Lots of code cleanup
I started off by fixing a bug where the valid date checker would always parse the default and thus never alert, even for extremely invalid dates. I then got to adding another feature, ranges. using the --begin and --end parameter lets you specify dates for nearly all calls (except --trust-level), which shows applicabled data within this range. I finished the language feature, which shows a nice breakdown of the top x (defined by --limit, normally all) languages sorted by time spent + a bit of extra data! i also began on the overview feature, showing everything about a user
Added - Theme Switcher, Trust Level, Users
Fixes - Parameter parsing
I fixed a bug with parameter parsing where for certain parameters (say limit), they would only work in a certain order.
A theme switcher was added that lets you switch between ttwo (equally shitty) themes or make you own - all interactive.
I also made a trust level checker, which given a list of users checks their ban status. (if you don't provide any it checks your own)
first devlog go brrrr! in this devlog i completed a basic (interactive!) setup for loading up your API Key. i also completed the first overview, which outputs a table of your projects with a limit feature. Now, since hackatime has a STUPID api, two different ways of g etting the projects return different things with zero overlap??? scary ik. also flag parsing happens in a specific order??
hate looking at websites? love the terminal? LIVE in the terminal? well hackacli is for you! With 1:1 parity for every api request, custom date ranges, offline support etc. There's also a live preview incase your too lazy to install it @ http://hackacli.ttf.hackclub.app courtesy of nest!. there's also plenty of themes and support for custom
And yet another devlog! this time was spent on making the new user experience better (creating a demo website w/ a quick tutorial) and making my experience better (yes i am hooman too)! Before, to update the binaries, i had tot
1) Build it with the correct name
2) SCP it to the server, alongside whichever markdown files i edited (if i remembered them(
3) move them to the correct directory and structure
4) Restart Services
you can probably guess this is not very fun. which is why i made a Github Action that does it all for me on a single commit (very epic).
Other than that, i embedded the latest git commit into the thingy, and also fixed a crash in the hosted version (a folder was missing)
We have images now! this ~3 hours was set trying (and succeeding!) in getting images render in a suitably cross-platform way. I also made my first blog post on that (Check My Blogs).
TL;DR for all the devlogs: i made a portfolio TUI served entirely through SSH since i hate web development with everything a good portfolio has!
aaaaaaaaaaaaaaaaaand we're content complete (kinda). all the content for the myskills is added, and a bunch of stuff to make it easier for me to write in the future. time for first ship i guess!
oooo devlog timeeeee. we're feature complete! at least the MVP. the code is much more readable now (tho still horrible) i also nearly quartered connection times by caching the hackatime data and fetching it every 5 minutes. there are a couple of UI changes, but most importantly a blog page(which every 'folio needs). all blogs are loaded from local (i should setup syncing soon), and parsed before being stuck on the blogs page with full markdown rendering.
next up: actually create content, add syncing from my PC, and stuff...
this update added more stuff to the general workflow. you can now mark items according to their priority. i added support for a feature that had been implemented for a long time, in the form of due dates for items. there's also advanced filtering by name, priority and completion status!
this update was mostly backend changes. the code had gotten a bit messy, so i did quite a bit of refactoring.
Additions :-
Added a stats view in the top right showing uptime and visits
added logging so i can spy on everyone >:)
created a new page where people can stalk me (see how much i've worked according to hackatime)
I finally got it running on nest, which while slow does act as a easy way to view.
try (ssh [email protected] -p 23849)
Additions :-
Public Preview
there's now a new contact me page, which lets you send messages directly to me
better description loading system, which prevents me from having to recompile
Fixes :-
correctly handle responsiveness from the first initialization
enable truecolor over SSH using SystemD
show correct percentage in frameworks
enable scrolling in ExpandedDescription
This period of time let me setup the basic structure of my portfolio. since bubbletea is extremely pedantic about styling, i decided that each page would be centered around a main element (such as a list or viewport) and everything else positioned relative to it. I also made a TabInterface class, which while primitive (TODO to me, replace idx with currenttab object), allowed me to have different tabs for different topics (About Me, My Skills, etc...) It's also fully responsive as per my testing
a portfolio for everyone who loves the CLI :D It's a portfolio website, but instead of being - well a website, you have to SSH into it (so basically a TUI) TRY IT AT ssh [email protected] -p 23849 will take a few seconds to load, and be laggy because free nest server means one location Note: some videos may not play on FIreFox, try a chromium based browser
i finally finished off all the basic instructions, making it 100% feature complete (at least for the first ship) it's versatile enough that most basic programs can be implement easily, but not that enjoyably tho. To say there's no bugs is a lie, but this does act as a MVP. coming up: making this compiled through the power of MONKEY
An esolang with a wheel (a wraparound stack) based system where variables are denoted by an index and not a name. The same concept applies for code too, so control flow is also dependent on the HOLY WHEEL .It's meant to be purposefully frustrating, so beware!
(i actually spent 40 minutes extra, but the time froze before that)
This was spent on modernizing the standalone functionality. While i had gotten the basic process down, the method for creating it was still the older compilation-based version. Other than that there was a bug fix for search showing the file path and Clear History crashing
This was widely regarded as a great move by everyone.