One of those “you better appreciate it until it's gone” kind of a deal here. I two weeks ago cut open my right hand knuckle down to the bone and had to sew it. During this healing period I've been single handed, and it sucks. Unless you're already single handed, consider the luxury you have right now of not lacking a hand.
I see you hating on the name already, but stop that. I'm already in love with it.
Filter-logs: flog. A command-line utility to filter logs depending on if it's an error, infromation, trace, debug, or wheatever kind of severity. And yes, especially for multiline logs!
Sample use case:
# Only give me the <1 day old logs from fileOutput.log
$ flog -t 1d fileOutput.log
# ...or what about only error logs
$ flog -s error fileOutput.log
# Only show me error logs from dotnet run
$ dotnet run -v m | flog -s error
Would be so useful, and not that complicated to make, right?
I've not found any such tool online, so let's just make one of my own. But what language?
Please dedicate 1-2h of your time for this guide. (Given you follow it from top to bottom.)
WriteFreely, the software that's hosting this blog, is a marvelous peice of software.
My personal quick list of best features:
Write in Markdown (even has support for MathJax, though I do not use it)
Supports both single user blog, and multi user blog.
Suuuper clean frontend design.
Open Source, written in Go, so I'm already feeling inclined in submitting some PRs.
Low memory & CPU footprint (Currently using 175 MiB RAM and 0% CPU while idle.)
Simple setup (for the most part, as we'll discuss in this post)
Support for ActivityPub (Fediverse)
The last bullet there about ActivityPub; you better lookup what it is if you're not aware. Google/DuckDuckGo/Yacy/search for it to get a grasp what it is. Spoiler: It's very cool. Let's dig into how to setup an instance of your own!
When searching for internship via school I found this small startup with this cute project of building a teaching tool for programming. There were back then 2 programmers: the founder and the co-founder.
Then like 1 week before the internship started, the co-founder had a burnout and had to get off the project, while the company was so low on budget the founder, aka my new b0ss, had to work separate jobs to keep the company alive. (quite metal tbh)
It's funny because I'm a junior developer, 100%. I've been coding as a hobby for around 8 years now but I've never worked in a big company before. (No exception to this workplace either)
First project I get: rewrite the compiler. The Python compiler.
“But wait, why not just embed a real compiler from the first case?”
-nanananana it's never simple, as you probably know from your own projects.
The feature in question is this thing about value conflict in variables. The G1ANT.Robot language doesn’t allow it, so I thought…. yea fuck that, I’m not goin to either.
I was already savin the shitty variables in stacks of lists for each code block, so I just added a Type value to the items and zamziop kdone. Now just throw some exceptions here n there were the value types differs.
This was a feature I didn’t add because I just imagined it would be done in an hour or so.
Oh how I was wrong. It took me FULL 90 MINUTES!
What took the most time was writing all those stupid unit tests. Implementing if-else, while, and do-while was arguably the easiest thing I’ve added. With my UNQUESTIONABLY SENSATIONALISTIC CODE BASE it was added in a jiffy. 🍆✊💦
That right there ^ was like, echo conditional jump, echo codeblock, echo label, DDdddDDONE!