Tumgik
guzscode · 2 days
Text
New Projects! And Being Paid for One!
Daily Blogs 319 - Sep 19th, 12.024
Finally starting the prototype of the next Capytal project, which I will not describe a lot until it is done and actual development starts. Hopefully I can finish it until this next month.
Also, finally got a task from my job, and it is an open-source SDK! YES! From scratch also, so I'm the one starting it, which is even better. To be honest, I couldn't ask more, I'm not lucky to have been given this since creating DevTools, SDKs, open-source it what I love, and even tho it is still my employment, it is better than constant fixes.
Today's artists & creative things Album: Inabalável - by Lvcas
© 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
3 notes · View notes
guzscode · 3 days
Text
Everything is Migrated
Daily Blogs 318 - Sep 18th, 12.024
Finally ended the configuration for the Capytal's Forgejo instance. And spent all day migrating all the projects from GitHub and Codeberg to the instance, with mirroring configuration for backup and ease for outside contributions.
Hopefully this week I can start the prototype of the next project, will make it with SvelteKit, since JavaScript it is faster to develop. But the after it, everything will be rewritten in the normal stack of Go, HTMX, Templ, and vanilla JavaScript (with JSDocs).
Today's artists & creative things Music: Split Idol - by GHOST
© 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
3 notes · View notes
guzscode · 4 days
Text
More Self-hosting, More Infra
Daily Blogs 317 - Sep 17th, 12.024
Finally was able to configure GarageHQ, an Amazon S3 compatible storage solution that I can self-host. Of course, I won't use it for production, but it will dramatically help for local development and prototyping projects that will use other S3-compatible storage.
Today's artists & creative things Music: Split Idol - by GHOST
© 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
2 notes · View notes
guzscode · 5 days
Text
Never trust a social media site that doesn't have weird furries
15K notes · View notes
guzscode · 13 days
Text
The Linux Pipeline
Try Ubuntu to revive an old machine
Hate Ubuntu
Switch to Mint
Enjoy it
System breaks catastrophically
Switch to Manjaro because Arch is cool and Manjaro is easy
Enjoy it
Switch to They/Them pronouns
System breaks catastrophically
Switch to Fedora
Yearn for Arch
Switch to basic bitch Arch
Enjoy it
System breaks catastrophically
Switch to NixOS
Never switch again (lying)
140 notes · View notes
guzscode · 1 month
Text
Dislate DevLog 2: Refactoring, and Premature Optimization
Daily Blogs 288 - Aug 19th, 12.024
It has been a while since I made a dev log of this project, personal life got in the way and somehow in the meantime of the last one, I actually was hired to my first ever job. This project is being somewhat hard to me, it has been a while since I've done a Discord bot, the API changed a lot, and now I'm using discordgo instead of discord.js.
Being totally honest, I'm kinda stuck on it, making some refactors in the last commits. However, while preparing to write this log, I may have found why: I'm making optimizations and thinking too much about a project that is just a Minimal Viable Product, again. Premature Optimization is something that I struggle a lot, maybe because of anxiety, but probably more because of the lack of experience to know when I'm optimizing too prematurely, which makes me find myself becoming stuck into a problem because I want to make it "perfect" instead of "good enough" in the first draft. In this project specifically, it's even dumber since the only one who will use it is myself on my own internal Discord server, and most of the commands are admin tools that just me will have access to. Even though I want to in the future make this bot something for everyone to use, it's not the focus, and should have been something that would take just some weeks or so to make.
So yeah, I should probably stop overthinking and trying to be fancy. Write the feature first, make it work, and then you consider refactoring.
Today's artists & creative things Music: UNDO UNDO - by Rolobi
© 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
2 notes · View notes
guzscode · 1 month
Text
Great News
Daily Blogs 281 - Aug 12th, 12.024
Tumblr media
Today's artists & creative things Album: Imperfect Hatred (Ultrakill Soundtrack) - by Heaven Piece Her
© 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
19 notes · View notes
guzscode · 1 month
Text
Dislate DevLog 1: When Comparing Size Matters
Daily Blogs 277 - Aug 8th, 12.024
Something which I noticed today while programming the project-dislate's database interface, is how much the files that I write got bigger. When I was starting programming, most files didn't pass the 100 lines most of the time. I still remember doing my first "real" project, a simple To-Do list application called ToToday (which I actually used when I was starting to organize my life), which I made 2 years ago and felt really proud on how I made the code "scalable" to add more features and just use the LocalStorage API for everything. The Tasks' Component I specially felt proud about, and even showed to friends them, showing the amount of lines and how much it was scalable and organized.
However, seeing now, even though the files have around 300 lines of code, the actual logic of the code is just around 120 lines, the rest is just HTML and CSS. Not only that, but last year, as an experiment, I created another To-Do list application in just one HTML file, which ended having 350 lines of code for the entire application (this kinda also shows how much JavaScript, and its ecosystem has the tendency of over-engineering a log of things).
And today, I actually wrote just a database interface, and it ended up with 300 lines of code before I was even having time of completing it today. All these lines are code, pretty much. And I asked me "why?", and pretty much already had the answer in mind: I'm doing more complex things now.
I hardly look backwards to compare myself, which I know is a problem and I probably should do it more since it really shows me how much I improved as a programmer/Software Engineer. I even call myself now a "Software Engineer" instead of "Programmer", because that what I am, I solve problems now, I make actual software that solves problems instead of just gluing things together and calling it a day. Even though number of lines doesn't really represent quality or even improvement, the idea that nowadays this amount of code every day is normal and the bare minimum for a small part of the projects that I do, I would say that it shows that I'm improving and actually creating things. Projects and codebases aren't big when the only thing you're doing is gluing libraries and frameworks together, I would say. If you are solving problems, if you're making business logic, you will need to write it and write more code.
That's why I always recommend making and write projects that you will use, that you actually care, instead of just following tutorials and making To-Do apps. Actual software is hard and big most of the time, but writing them can be fulfilling. I acknowledge that my first To-Do app was a start and a good step in actually trying to complete something, but I fell a lot happier seeing myself now actually persuading bigger challenges. And I hope that you go pursue bigger challenges.
Today's artists & creative things Music: Road To Hide - by ZeRO
© 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
1 note · View note
guzscode · 1 month
Text
okay I thought everybody already knew this, but y'all know that "generative AI" is just a marketing buzzword, not a meaningfully separate type of machine learning, right? LLMs and diffusion models are pretty much just the same neural networks that we've been working on for the 10-15 years, just bigger and with a couple new mathematical tricks
992 notes · View notes
guzscode · 1 month
Text
Dislate DevLog 0: It's Never so Simple
Well, the translation bot already feels like it will not be so simple, like any other software or project. But it isn't necessarily complex. The main problem is that I will need a database to keep track of messages, so I can support messages being edited and then edit the corresponding translated message. Thankfully, I will not do this bot alone, @sophia--studies gladly offered help, so hopefully this won't be another project that will take months to complete. I just need to program a small structure, since doing prototyping asynchronously is somewhat difficult.
© 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
2 notes · View notes
guzscode · 2 months
Text
I really enjoyed making these progress bars! Something light
18 notes · View notes
guzscode · 2 months
Text
How do you take a photo of time?
Tumblr media
I've been watching the track events at the Olympics since I was a wee lad. It was a tradition in our family. We'd gather around our ancient low-definition 19 inch CRT television and watch tiny blobs compete against other tiny blobs and root for our country.
It was a bit like watching YouTube on your phone in 144p.
Several heroes emerged.
Jackie Joyner-Kersee was amazing.
Tumblr media
You can't forget about Flo-Jo.
Tumblr media
And then the Olympics decided NBA players were allowed in the competition.
Which formed... The Dream Team.
Tumblr media
Was this fair?
Well... they won each game by an average of 44 points.
So... no. It was not fair.
Though it became more fair as time went on.
But, umm... yeah. The other teams looked like the Washington Generals and the US looked like the Harlem Globetrotters if they stopped screwing around half of the game.
But my absolute favorite Olympian was a runner named Michael Johnson.
Tumblr media
He was cool as heck.
For one thing... gold shoes.
Tumblr media
But he also had this crazy, upright, Tom Cruise-ish sprinting style that just made him look like a running robot on the track.
Tumblr media
And in the 1996 Atlanta games he just trounced EVERYONE. I mean, it wasn't even close.
Tumblr media
Yikes. Those losing blobs are probably really embarrassed.
Last night I decided to invigorate my nostalgia and watch the track events again. And I got to see one of the wildest races in history.
It didn't even last 10 seconds but it was one of the most exciting sporting events I've ever witnessed. Almost every runner won the race.
After I saw that initially, I was like... who the heck won???
Even in slow motion I wasn't sure.
Tumblr media
This was one of the closest finishes in history. There has never been a race where all 8 runners were within this margin.
The arena was silent as the winner was being confirmed. The runners just kind of paced around waiting for official word. My best guess was the Jamaican runner, Kishane Thompson. But then the loudspeaker announced Noah Lyles.
Tumblr media
The last tiny morsel of American pride burst out of me with a big "Wooooo!"
I forgot what it was like to be proud of my country. I wish it happened more often. But this young man, despite being last place in the first 3rd of the race, turned on the afterburners and won in a photo finish.
And that's when my inner nerd took over.
Because when they showed the photo finish image, it looked super weird.
Tumblr media
Why is the track white?
Why do all of the runners look all warpy like that QWOP game?
Tumblr media
So I went down a research rabbit hole to figure this out.
Photo finishes are actually fascinating. The first photo finish captured the end of a horse race in 1890. But that was mostly luck and timing. The actual photo finish mechanisms weren't used until 1937.
Originally they would film the finish line through a physical slit.
Tumblr media
And the first horsie head that appeared in that slit would be the winner. This technology ended a huge aspect of corruption in horse race fixing almost overnight.
But we have come a long way since then. And I'd like to introduce you to the Omega Scan 'O' Vision Ultimate.
Tumblr media
This slow motion camera sits fixed on the finish line of every race. The concept of the photo finish has remained remarkably similar to the 1930s approach. The camera sensor is specially designed to only record a vertical slit.
Only the finish line itself is actually captured.
And because it limits what it records to only that slit, it can capture 20,000 frames per second to get amazing temporal resolution.
So why don't the photo finishes just look like, well... this?
Tumblr media
That is because the camera takes a picture of time more-so than dimensional space. I guess it would be more accurate to say it *assembles* a picture of time.
As the runners cross the finish line, the camera combines all of the little strips of pictures into a single image.
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
It's almost like if you tried to reassemble a piece of paper after it had been shredded.
Tumblr media
Imagine each strip of paper is a picture of ONLY the finish line, just at a slightly different point in time.
What if someone stopped on the finish line and didn't move... what would that look like?
Tumblr media
Once they got there, the same part of their body would just be repeated.
So the right side of the photo finish picture represents earlier in time and it just assembles the image strip by strip as time passes and you literally get a picture of time itself.
NEAT!
Okay, but how do they determine the winner from the photo finish?
I mean, that shoe looks like it is ahead of Noah Lyles!
Tumblr media
Clavicles!
The IAFF rules state the foremost part of the torso must cross the finish line first. And the endpoint of the torso is the outer end of the clavicle.
So if you get this bone across the finish line first, you win the race.
Tumblr media
Two more fun facts!
The start of the race is actually just as carefully timed as the end of the race. There are sensors in the starting blocks of each runner.
Tumblr media
The starting gun also has an electronic sensor.
Tumblr media
They have determined the fastest a human can react to the sound of a gun is roughly 100 milliseconds. So if you start running before 100 milliseconds they know you didn't actually hear the gun, you just got antsy and started running too early.
And the final fun fact...
Did you notice the Omega logo at the top of the photo finish?
Tumblr media
That isn't superimposed or added after the fact. That is captured by the camera.
But if this image is composed only of tiny little slivers, how did they get the Omega logo to show up?
Tumblr media
That is a little display. And it is synchronized with the Scan 'O' Vision Ultimate to show a little sliver of the Omega logo for each frame captured.
Tumblr media
So when the final image is stitched together, it looks like a cohesive logo at the top of the photo.
Pretty clever, Omega!
25K notes · View notes
guzscode · 2 months
Text
they call it a shell, but I haven't seen any mollusk in my computer yet
they call it a console interface when it's not very consoling at all
383 notes · View notes
guzscode · 2 months
Text
That's one of the reasons why I like the idea of first writing a spathetti-code-small-prototype, and then refactor/rewrite my way to something better. You get both the dopamine of having something working somewhat fast, and also the dopamine hit of seeing your git history and realizing how better your code is compared to the first iteration.
The fucking dopamine release when you incrementally work your way toward getting your code to actually working how you want it to
Btw every time I say “fucking” it’s in the voice of Morning Frost from Legends of Avantris’ witchlight carnival
36 notes · View notes
guzscode · 2 months
Text
58K notes · View notes
guzscode · 2 months
Text
I do not give a shit if every broke ass startup is using React Native to build mobile apps. Thank you for listening to my ted talk
2 notes · View notes
guzscode · 2 months
Text
Cpp and stuff
Well, I'm doing a project right now using cpp, It's a IRC server. IRC, it like a text based chat, It is an old protocol and It's not that used today, but It's still a grate protocol, and building a server from scratch can teach a lot.
It's been a while since I last coded in cpp, and I spend most of the time remembering the nuances of the language, maybe I have become a spoiled girl because of Javascript LMAO.
Also, in the last days I implemented GoogleTest framework for cpp, I had some troubles trying to implementing it, but managed to make it work. Maybe it's a little messy? Maybe, but It's working O_o
Now I'm working on building structures/classes to store the data I need, and Implementing some handling and parse functions to interpret the protocol.
Also I need to review more the sockets part of the program, I not fully understand it yet.
I only implemented a few things in classes but, I think that I can Implement the hole program as a class, idk. At the first moment I just want to build something that works and than refactor on top of this.
5 notes · View notes