Activity

lisardowo

the implementation of pipleine and globbin has been succesfull :D, now whats left to do is to correct and improve some features that already exist so I can say terminal is done. OH AND TODAY I LEARNT SOMETHING COOL, i knew that the static keyword existed but i didnt really knew what it was supposed to do. As far as I understood is that it was used to declarate and use functions only in the scope of a file (important if you used the file itself as a header) so you dont have to publicly declare it in the .h. It turns out that is different to what I thought and was pretty useful to write cleaner code.

Pipelining was horrible, globbing was ezzzz id like to say I have a lot of things to say but nahhh I just turned off my thoughts and started writing some code that actually worked

Attachment
0
lisardowo

Today I learned that you can use if statemtents without the braces , instead of if(statement){}, is just if (statement) action;;. I can not see where this is usefull or at least superior than with the braces (I even found it harder to work like this) but hey, is good to know at least it exist. Pipelining is done overall, still are some test left and lack some stuff but it does a pretty decent job.

I think I havent talk enough about how Im making this without ANY external libraries, this makes parsing something pretty common to fail; This makes some bugs of pipelining completely related to this, Imma work it out but do not promise to achieve nothing, correct parsing uses AST and im pretty scared of those.

Final overview of the program: im refactoring some code to have something readable, updating readme, creating the test scripts and finally updating ALL buffers to be dynamic preventing buffer overflows and similar stuff, once this is done Ill develop the secondary (vulnerable branch) taking back the fixed buffers and some other fun stuff that I thought while making the program and then ship.

Hopefully all of that gets me at least 30 more hours so I can get that cute printer

Attachment
0
lisardowo

Quick devlog !! is been a while since the last time i had the time to work in this, I was in a event in another city so I lost the whole week T.T, my objective with this project was to hit the 100 hours so I can get the 3d printer but to be fair Im already almost at the end, theres a lot of reading and testing that doesnt reflect in registered hours which make this work tedious. imma work to get the pipelines done, some basic scripts and Im done, I really need to take a break after this project.. Dont get me wrong, i loved doing it and really learned a lot in the whole procces, but the codebase is so big and complicated that it gives me headaches and makes really difficult to keep working.

With that said, i litterally just refactored some code (especifically builtin commands) and made it so the output can be redirected using “>” operator , the scripts for testing are getting way difficult that it should, it was a design thing that has to be with the autocompletion

Attachment
0
lisardowo

I made a configuration file sou you can make your very own linktree tweaking off some values, information clearer in readme file. Pretty simple page I made to practice js a while back

Attachment
0
lisardowo

Im working with python to create some scripts for quick testing, wasnt as easy as i thought but the design of the shell itself made it difficult. Since last time I had to modify a lot of stuff, specially about builtin commands. im working in pipeling but damn its hard, it will take a while this is a rather short devlog cause i havent made much since last two, most of the things i did was refactorizing and adding a little of the pipeline logic

0
lisardowo

something that took me a while to figure out is that redirection was only working for binaries.. yeah its embarassing, I did suspect it tho I was just too lazy to test it but now that Im closer to the end well, is neccesary SPECIALLY FOR PIPELINNG omg i was just reading the concept at its so confusing, it wont be a nice ride

In this devlog besides yap and cry a lil about that Imma add that im rewriting the whole builtin logic so it can be modified with operators (> , | , &&)

Also the && is almost there, some problems such as compatibility with other functions seems to be a problem T.T Ive been having some crazy bugs due to that when its done Ill let yall know

Attachment
0
lisardowo

preparing a set of scripts so people can auto test easily and quick, I also achieved the redirect to work with various operators (>/»), the && function will have to wait, it seems pretty complicated. Also echo builtin is bugged and idk why, it was working fine 20 minutes ago, i saw the bug while preparing the scripts expected output, is kind of stressing.. But project shall be at 60~70 % of completion

Json is trash btw

Attachment
Attachment
0
lisardowo

Im now trying to implement the use of several operators in the same line (command > outputFile 2> error outputFile) but for this I had to implement the token creation logic and interpretation. Overrall is working for some cases but still has some pretty bad bugs

Attachment
0
lisardowo

Went a little of track to add a function that renders your cwd(just the last 2 dirs to not be excessive) like most shells do, was pretty fast and simple I just reused the logic that makes the binary execution, once you understand how strtok works the most difficult part is ensure to null terminate all

Attachment
0
lisardowo

MY TOP 3 FAVORITE BUGS :
When the program crashed if you didnt enter any command
when the program crashed if you went up in the history if there was not an history yet (this ones pretty reasonable)
When i tried to implement the left and right cursor movement and failed miserably (all turned black)

With that said, the history stuff was by far the easiest thing to implement, but navigate through the history has to be the most painful thing Ive made, it was super confusing and I had to beg some friend for help but at the end I got it, with this I can say Im almost 50% complete which is incredible but is also pretty sad.. Ill keep working and hope I can get the printer

Attachment
0
lisardowo

quick devlog, I started a draft of the history function where each time the user run a command, the whole argv is duped to a “history buffer” that works but is not ideal and highly problematic, when history is called then history buffer is printed.

The advance in functionality could look like is not a lot (and it is) but its because most of the time I spent documented the project, I havent even made a readme since I started and damn it took time, even tho I remembered most of the things that doesnt stop me from having to look a couple times all the code base again. The task made me realize some posible bugs and vulnerabilities the project may have which was something good so it wasnt like a waste of time

Attachment
0
lisardowo

I thought that designin all the autocomplete stuff would be harder but wasnt that difficult to be honest.. is not like it didnt made me crash out several times (work with dinamic memory is horrible) but compared to other stuff Ive made for this same project, the logic wasnt really that complicated. Most of the time I spend was with errors on memory usage and crashes related to that.

Also I do learnt a lot of stuff about linux that I couldnt even imagine, this specific module helped me to learn about linux standards, syscalls, System-wide macros etc.

Trully a great project, atp Im really starting to feel the terminal and actual terminal, when I test the new changes and all is working right I even push to github those changes inside the program and it works!. Theres a lot of stuff to do in order to say this project is at least at 80% but I mean, I see the light at the end and is not that far

Attachment
0
lisardowo

whats good gang, some quick info about todays work.
First of all, today is a sad day chat (Build your own shell challenge is no longer free in codecrafters) i wouldnt mind but the test scripts were pretty usefull to know everything is working as it should. I may ask chatGPT or so to made some python scripts to test functionality (o maybe not, im hater #1 of AI).

With that said today I completed the challenge of quotation (use quotes to accept specific inputs), it was hard yep, but with all this terminal stuff I have learnt some clever trings that allowed me to not suffer that much this time, is a simple lexer and parsing stuff that with some well thinked designed turn out to be easier than I expect. Theres also now this redirect thingy “>” which I knew it existed but didnt really understand it until now. Turns out that the best way to understand something really is to create it myself. In this stage what I found more interesting was system calls (write, open, close) they were pretty interesting but a little complex at first glance took me a while to fully land how it worked and file descriptors are something that I really dont want to experiment again

Attachment
0
lisardowo

ok so I was right with what I said past devlog, hackatime is detecting time.. funny(? idk what are the parameters but it looks like is tracking time from 3 different subdirs I use, I mean it takes time of /combatDiary and /combatDiary/codecrafters-shell AND /combatDiary/codecrafters-shell/src idk why but yeah, quick devlog cuz of that, i havent made that much besides refactoring once again how argv extraction works cuz with this new stage previous literally wont work

Attachment
0
lisardowo

I think hackatime registered incorrectly worked hours cuz aint no way what I just did was 2 hours.. So apparently you can use quotations for specific properties in a shell (I didnt knew it), obviously that thing had to be mannually implemented and oh my god was it hard, prolly the most awfull and complicated thing Ive made for this project, atp i see NULLS whenever I try to sleep.

Im proud of who the project is going whatsoever, is being really fun and im learning a lot of stuff, i will complete the challenge and then Id like to modify the code to make a hella vulernable shell and try to hack it.

Some other not so important changes I did was : I created a makefile (which was confusing at first) to compile the project because writing the command manually each time was painful and search in history slow, Refactored some code and the logic behind some functions, specifically about the ones related to extract argc and argv of commands. Oh and its not a change but i finally hit the #1000 mark in this challenge

Attachment
Attachment
0
lisardowo

did yall knew that theres a whole function used to create a new proccess without the need of sys calls?.. well, i certainly didnt know and figured it out way too late in the development. It wasnt that hard tho, but it gave me a headache when implementing the usage of executing bins with arguments, at the end I decided that copy how C compiler has the argc argv thing will work. It was tricky to implement but pretty simple, by now this terminal has some pretty basic built in functions and the ability to use system binaries, is going great

Attachment
Attachment
0
lisardowo

HI guys, idk where to start.. IM CRASHING OUT FOR GODS SAKE, turns out theres more than a lot of considerations you need to have in order to have a working terminal.. also theres a ton of c std libraries i feel fear of the people that remember more that stdlib, string and stdio… that was my reaction when I had to use unistd. today I tried to implement the function that search for local binaries it works at most but its also bugged as hell and highly vulnerable
I know where the problems come from but god is it confusing, ill be working on that

Attachment
Attachment
0
lisardowo

did yall knew that scanf just scans until it founds a blank space? WELL I DIDNT and passed like half an hour debugging echo cuz it wasnt working. Well for today I just implemented echo command.. Im following the codecrafters challenge as a guide but once Im done with their program id like to implement sum functions of my own u know?. All that test stuff is horrible btw, the other half an hour of implement echo command was because test keep being rejected thanks to a blank space in “: command not found” i got sum fun ngl

Attachment
Attachment
0
lisardowo

I created a loop that keeps prompting for a command until the exit command is written (it doesnt accept any command yet)

Attachment
0
lisardowo

Shipped this project!

Hours: 28.85
Cookies: 🍪 690
Multiplier: 23.91 cookies/hr

I made a wifi sniffer that anaylzes nearby networks looking for vulnerabilities. This is part of a bigger project called (hermes) thats supposed to be an compound of tools i found interesting to develop (kind of how flipper zero has other modules to extend capabalities) It was supper dificult but now that Im finishing it, I do really feel like I learned a lot, I had to use I think that allmost all the resources that C has to make it work which I really enjoyed, it just feels like in the way I learned a ton

lisardowo

I Added and updated all the documentation (readme, changelog etc) I also made a github release ! (was my first time)

Attachment
0
lisardowo

oke oke Now I corrected all important bugs and added a more organized way to see tue information of the networks

Attachment
0
lisardowo

This is getting ugly, have a lot of bugs and straight up I broke almost everything

Im closer to the end tho

Attachment
0
lisardowo

managed to create a struct to save up the important info

Attachment
0
lisardowo

while making some changes I broke a lot of stuff.. Ill be correcting all bugs so I can ship

Attachment
0
lisardowo

Nothing much to see, correcting bugs and refactorizing, im closer to the final prototype tho

Attachment
0
lisardowo

working in a feature that saves specific characteristics (relevant for cybersecurity audits) but its still bugged as hell

Attachment
0
lisardowo

Now it can read both the header of the payload for general data and the body for specificic analysis

Attachment
0
lisardowo

Today was kind of a low day, i just took the 500 lines spaghetti code I had in main and refactorize it to something more legible and sustainable

Attachment
0
lisardowo

Refactored some code, standarized all to fit the style guidelines I imposed and corrected some minor bugs/redundant code that was really pissing me off

Also added the capability to interpret other signals apart from wifi but in residential areas obviously the most common are wifi signals

Attachment
Attachment
0
lisardowo

Now I can succesfuly analize wifi request headers

Attachment
0
lisardowo

Now I can extract addresses of src and destination, implementing a function to extract the name of the web

Attachment
0
lisardowo

Worked in artemisa module: now it can analyze the payload to identify the mac Address of the sender

Attachment
0
lisardowo

corrected a bug where too much commands made the cli dont work

Attachment
0
lisardowo

Shipped this project!

Hours: 18.98
Cookies: 🍪 105
Multiplier: 5.51 cookies/hr

while winter break I was bored and really wanted to learn typescript so I decided to make a little blog since some pretty cool people on the internet had one.

ABSOLUTELY THE WORST DECISION OF MY LIFE

For gods sake I suffered like crazy doing this, especially cuz i was genius and tried to made a multipaged web with REACT (now i hate react), got some crazy errors with deployment and im not a fan of the UI/UX but yeah Im not like a frontend developer or so, I just dont have the taste. Overall im pretty proud of who it turned out it certainly represents me and I would like to keep working on it (make a phone version) and in general just keep the works

I learned a lot tho, finally could complete get how ts worked and overall it was a funny project but ill keep working in this until it just feels right

lisardowo

Created some basic promiscuous mode for artemisa module

Attachment
0
lisardowo

Fighting with deployment (thx react)

Attachment
Attachment
0
lisardowo

Oh for gods sake, im certainly not a ui/ux developer this is getting out of hand T.T

I’ll finish with something usable and just forget about this for a while, it was certainly fun but damn i do not have any taste

Attachment
0
lisardowo

Had to add clearer instructions in the usage of the web demo

Attachment
0
lisardowo

Shipped this project!

Hours: 19.03
Cookies: 🍪 325
Multiplier: 17.06 cookies/hr

I built a router for LEO satellital constellations, it uses a DRL Graph neural network to learn the characteristics of a path that tends to fail in order to avoid it. Its supposed to replace the traditional dijkstra-based path finding providing a more stable and reliable way to transfer data, when the model choose a is run it chooses 3 paths and distributes the data to send amongst this three adjusting flow to each one individually based on congestion, bandwith and other factors

It also compresses data (telemetry mostly) and separate it into (n) quantity of files (determined by the compressed size) to ease up a little the traffic

lisardowo

Tried to implement a benchmark (didnt work) it seems that the design of the DRL model is kind of messed so ill ship by now and try to learn more in order to correct the model and gave it proper functionality

Attachment
0
lisardowo

adding a benchmark between dijkstra (commonly used algorithm for path finding) and the DRL model (im going insane)

Attachment
0
lisardowo

Deployed to the web

Attachment
0
lisardowo

Finished the DRL model, made the simulation and a frontend to see the procees (it was more than eight hours but I forget to de log )

Attachment
0
lisardowo

I did the home page and end 1 of 4 elements of my rpg games inspired blog

0
lisardowo

Shipped this project!

Hours: 4.02
Cookies: 🍪 31
Multiplier: 7.8 cookies/hr

A simple lil vscode extension that tracks your time codding and based in this it suggest some actions to take care about your health during your session

Ughhh this was a pretty rough one cuz it was my first time using typescrit (I have a pretty intermediante js knowledge) but I do feel I learned a lout specificaly about how different its when the types are applied

The logic is pretty simple but i would like to keep working in this and maybe create something really usefull for all kind of people

lisardowo

Finally is published !

Attachment
1

Comments

Eternal
Eternal 4 months ago

Omg, this will be so useful to meeeee :3c

lisardowo

Refactorized the timer logic and preparing the extension for production

Attachment
0
lisardowo

implemented a pretty rough timer to keep track of time, also is my first time noty only developing a extension but also using ts so its being a little hard

yet it is pretty funny and I feel like im learning

Attachment
0
lisardowo

Okay I managed to save(? most of the code and implementing it again but i found a lot of problems mergin and that (also git pages is being such a headache)

Attachment
0
lisardowo

I kind of messed up bad this time (Had to delete all my files and recover them from the repo)
MY LAST PUSH WAS SO LONG AGO

Attachment
0
lisardowo

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0
lisardowo

Making a linktree mock off cause im way too cheap to pay for it (i wanna make it a blog too)

0
lisardowo

preparing the script for the training of the DRL model

Attachment
0
lisardowo

I’m working on my first project! This is so exciting. I can’t wait to share more updates as I build.

Attachment
0