Ghost Race
60m on Ghost Race. Setup Git, frontend, backend, Makefile & Dockerfiles. Works well!
60m on Ghost Race. Setup Git, frontend, backend, Makefile & Dockerfiles. Works well!
Lately I've been thinking of a project to build and today I started planning it out. It's a MotoGP data scraper which will be visualising race data. Won't go deep into detail. I did some Kanban planning today.
Also did a little bit of work on project lightning storm. Mostly planning, and some todos for myself in the future. Small steps each day.
Continue on both projects.
Did the last chapters. Password reset and token generation.
Done with the book. Looking forward to attacking a project now.
Start planning my project.
Good day. I like the Alex builds a pipeline. I know that this is a small project, but doing it all very close to the metal is pretty cool. I like removing as many abstractions as possible.
The commands in the makefile. Setting up the server in a useful way. Direct ssh in a copy the files and run. Set up caddy to route. Very cool.
Finish the last chapter
Makefile, Vendor & Build Settings.
Learning of setting up the build pipeline. Useful stuff. The makefile.
Kind of slow moving. Not that motivated at this time.
Did an hour of Let's Go Further. Really pushing through. Makefiles and middleware metrics.
Continue Let's Go Further
I lost it. Some sickness got to me and I had a very rough time getting back into it. Lost motivation completely. Needed some time off I suppose.
30m on Lightningstorm project. SSH into server. Some planning.
50m of Let's Go Further.
Keep going with Let's Go Further and also getting started on my new Saas project. It's still very early and not something interesting yet.
Codename LightningStorm is underway lol. A secure vault for families to store their data. Will run on open source platforms and being hosted in EU. Setting up the Server and installing Proxmox. SSH Hardening.
Building authentication in my Go API with tokens.
Same..
Getting back into gear. It feels good. Some work on Let's Go Further, planned my new project a bit more and added some changes to this website.
Added some different properties to the daily log on this website. Some small UI changes. It felt good to fix.
The secure vault project. Does not have a name yet. Planning it. Not ready to start building yet, but i'll get there. Also not ready to share info yet.
Let's Go Further. Not a lot but got it back running and just looking at Go code again.
Let's Go Further & Plan Project
Getting back after some holiday down time. A slow start but it's okay.
Started planning a new project while on vacation. A secure vault. Spend 60m brainstorming some more. A saas idea. Will plan and play around a bit before actually building.
45m of Let's Go Further. Activate profile token and SQL Migration.
Reading about serialization formats (Thrift, Avro, Protobuf). Tough stuff. Looking forward to trying it out at some point. Fix MyFM.
MyFootballManager had some bugs in production that took time from my learning today.
Learnt that PM2 on servers had a hard time loading .env files. Usng ecosystem.json did the trick.
30m DDIA
It's easter and the next week will be vacation. Maybe some reading during the week. It'll be a chill week.
Email templating. Setting up mailtrap and sending emails with Goroutines. It's cool. Beginning Chapter 4 of DDIA. Learning of Protobufs and how they can be useful.
30m Reading DDIA
Continue with the same.
Continue with the Let's Go Further. Implement User Registration.
User Registration in Go APIs. Finalized Chapter 3 of DDIA and did some notes on when and where to use the different storage engines. A recap.
30m Reading DDIA
Same.
Some Let's Go Further.
Had a project idea and started planning it.
Had an idea for a MotoGP live timing app. Their livetiming is limited but with some math and use of Go, Redis, SVG's I could built a pretty cool project I think. Need to plan it a bit more and play around with some terminal prototypes.
Back to learning or maybe play around with the project idea.
Full time job took all my time today. Not fun. Too tired at night to continue. Let's just move along.
Follow the book & Read some DDIA
Primary work is a bit tight these days.
Built pagination in the api. Sorts, and custom URL params. It works well. I like the way GO does it.
30m DDIA
Continue
Continue the book and follow along.
Learned of the pros and cons of memory storage and disk storage from DDIA. Redis, Memcached etc. Really interesting stuff. How and when to use the different types. It clicked. In Let's Go Further I learnt some new sql queries and how to handle url query params in Go. Built validation and started querying.
30m DDIA.
Continue the same two things.
Changing the PUT to PATCH and just following along the book.
Going from a PUT to PATCH. Also handling the Race Condition of updating at the same time. Handled gracfully by checking the row version. Also set up the SQL DB on my other laptop. Used the migrations. That was pretty cool. Was a bit tired today so only did 60m
30m DDIA - Learning of B-Trees. I think it's an incredible book so far.
Just moving on with the build along.
PUT, GET, DELETE a movie from the DB. I actually forgot how much i like SQL Databases. I've been doing Mongo for so long. SQL just works and is ligthning fast.
30m DDIA. I really enjoy that book. Just going slowly and learning of LSM-Trees and SSTables.
Continue and PATCH.
PostgreSQL. Migrations. DB Setup.
Many of these things I know, but it feels good to go through them in a new way. I'm getting used to the Go syntax and the way Go does things. It's pretty cool. I enjoy it. Also learning a lot of DDIA. Really interesting book!
30m Reading DDIA
Keep going.
Continue with the book and build the project.
Validation, Reading JSON, Connecting to Postgres, project structure. I like how we build a lot of helper functions instead of using packages that we pull in.
30m DDIA
Continue the book and project.
Read and follow along the book.
Learning a lot of syntax and best practices. Security. It's nice. A backend API will be my next personal project so this book is very good for that. So far i like it. Did the basic setup and just reading the book. I like Alex Edwards' writing and teaching style.
Continue Let's Go Further
Reading about Go. Figuring out my next move. Reading the Let's Go book by Alex Edwards. It's good. I'm skimming it and moving on to Let's Go Further since it's more what I want.
Nothing
What is possible, and how different ideas are implemented.
Start Let's Go Further and I think i'll build along.
Finalize the CLI from scratch using only built in modules.
Not a lot.
Learnt a lot. The CLI tool is basically done. the boilerplate. I need to add a lot of endpoints to make it useful, but I'm not sure I will. I looked into other ways of building that same solution but with dedicated CLI tool packages. Cobra for example. It seems like a solid choice. It was good building it from scratch, too see what actually is happening. Also for learning syntax.
Reading.
Continue building my admin CLI for my project MyFootballManager
Syntax. Understanding. Interfaces blocked me a bit today. It's easy to get tempted to just let the LLM spit everything out and paste the errors. I'm not doing that. I want to learn, struggle and understand.
HTTP request to my local API and get a response. Also a logger module. Pretty cool. Still have to understand everything. The interfaces i understood a little bit.
30m Reading DDIA
Keep going with CLI
Keep building an understanding the structure of a CLI tool.
Just basically the struggles of learning a new language.
How CLI tools are built and basic GO syntax. Building with AI as a tutor and also really just learning what is what. A lot of boiler plate. That is coding and always has been. Flags. Commands. Configs. HTTP wrappers.
30m Reading DDIA
Keep going with the CLI. More flags and arguments. Hit some real endpoints.
Read some more examples of what is possible. Start building a CLI.
Not knowing a lot of CLI standards.
Kind of tired of reading Go and want to write some code now. Generate some code rather. But that's okay. I need to output something and understand. LLM's are for me a good companion and can help me learn. They explain concepts extremely well, and I learn ideas and structure by asking and trying different things. I like that workflow.
30m reading DDIA
Continue the CLI tool. It's an admin tool for my footballmanager game.
Do the final reading of tour of go. Exercises.
Nothing.
Just learning syntax and how everything is connected. I like to read a lot before attacking pprojects. Then I can always look up after when hitting some roadblocks.
30m of reading Let's Go & 30m Reading DDIA
Go by Example
Just reading and playing with different things.
Nothing.
Learned of the Hack Assembly Machine Language and Machine Assembly Language in general. Looking forward to learn more.
Just keep moving ahead.
Go through Go by Example
Nothing.
functions, closures, loops, variadic functions, maps, slices. just syntax basically.
Continue Go.
Continue through the Tour of Go ressource.
Just learning. Some concepts that I need to play around with a couple of times, but it's all good.
Pointers, Operands and things like that..
Continue Tour of Go.
Go through Tour of Go
Just reading and understanding the syntax. Playing, having fun and doing some exercises.
Continue with the same
Write up the blog post for the Unit 06 Assembler
Actually not a lot.
Nice to go through what you have learnt.
Thinking I will do some C or Go. Have to decide.
Finalize the assembler
Not much..
I did it! It's done. It could be optimized and get some errors handling and various features, but the core functionality is there. This is awesome. I don't think I will add more to it at the moment. Maybe at some other point. Very cool.
Will do the writeup of Unit 06
Start the second pass and build the rest of the helper functions.
A couple of days off the project really slowed the getting started down.. Kind crazy how fast that goes..
Not much. Just slowly progressing.
Hopefully the final push.
Continue the assembler.
Not a lot. I like the progress i'm making.
Learning a lot of Python and CLI tools. Trying to make it as good and clean as possible. Good practices and not some pieced together junk. Have implemented the first pass, the symbol table creation and the parser module.
30m of Modern C & 30m of TryHackMe
Continue with the second_pass through.
Building the Assembler. Moving forward. Good progress today.
Not much. Just that it's a new territory of development for me, but I'm piecing it together.
Classes. staticmethods. __init__ function variable initialization. types in python.
30m of Modern C & 30m of TryHackMe
Will look into the 1st and 2nd pass through.
Building the assembler. Setting up the classes(lol classes in python). Not really and end goal today just moving forward.
Python synteax. It's been a while. Not too bad.
Setting up the different classes. I must say that when using AI to set up classes and boilerplace, it really speeds up development. I don't see AI in this case as a negative. It's a crazy tool. The sparring part is great too. Just make sure you understand what you're asking and prompting. I think we're nearing and end of writing code. Prompting and changing is the new new.
Contimue building the Assembler.
Start building the assembler in Python
It's been a while since I've been doing Python and I just wanted to set it up perfectly. Have a good structure and make sure I do it properly and not hasted.
Python project structure.
Start implementing the different sections of the assembler.
Read the final content of the book chapter.
Weekend. Time is not my friend.
Read it, and I know what needs to be done with the assembler. I feel pretty secure in my ability with the assembler.
Spent another 30m on TryHackMe. Windows rooms
Start building the assembler in Python.
Watch the final video content
Saturday. Time is pressed.
Same as day before. Theory and examples on how to write the assembler.
Start reading the content of the book.
Go through the video material.
Not enough time to watch all the material.
How to write the assembler in theory which will translate the .asm files to binary machine code instructions.
Watch the final pieces of the content.
To be honest, I don't really know why. Started a PrivSec room on TryHackMe. Was just executing commands and not really learning anything. I think I should probably start from the bottom and go up, if I really want to learn.
Not knowing a lot.
Not a lot today. Is this really right? Can't answer that after one day. Maybe it was just not it today.
I'll figure that out.
Do the write up of Unit 05
Not so much. Time was pressed. Some sickess unfortunately hit the family.
Always good to recap on your learnings.
I will start something new. Cyber Security
Wire the CPU and wire the Computer together.
Still a little bit of uneasy and just moving slow. It feels good to be unknowing. Some of these Jump bits are confusing me. The logic behind it. zr and ng.
It suddenly clicked for me. zr & ng. zero and negative. That way we can check the jump statements. And we only actually have to create the logic for the 3 jump bits and all 8 possibilities fall into place. PC done. CPU was for sure the hardest. Computer was relatively simple. It was just wiring it together without any logic. The diagram was provided. All tests cleared. What a great feeling!
The Write Up for Unit 05
Wire up the CPU. Try to understand it completely.
Not quite sure how to. Must try different things along the way.
Kind of forgot some of the material and had to go back to previous chapters to get a refresher. Did not quite get to the finish line today, but implemented the A & D Register along with the ALU. It's tough stuff. A lot of moving parts and wires to keep in check. Forgot some of the instruction meaning and the ALU control bits and when they are used. Slowly it comes together. It's kind of weird but everything I built previously in the course come together now and all the chips and implementations have important role to play.
Hopefully finalize the CPU. I only need Program Counter, the output signals and then finally built the whole Computer.
Took a break from the CPU and focused on the Memory which the Project description actually recommended.
Not quite sure how to implemenent it.
Read and skimmed some of the material, which helped a lot. Got it working which I was pretty stoked about. Had to figure out how to differentiate between the Ram16K, Ram8K & Keyboard addresses in the long memory hierarchy, Binary translation! Check for the 14th and 13th bit in the byte to see where it's location is. Pretty slick.
Continue with the CPU. Hopefully finalize it.
Watch the final content and read the final chapters. Start implementing the CPU
It's confusing. A lot of moving parts and I'm moving very slow. It's okay but am piecing it together one by one. Helping by looking at the diagrams in the book.
Deconstructuring the instruction input with Not() & And() chips. Looking at the diagrams in the book. Very good.
Implement the CPU and start with the Memory.
Start watching the content and reading the book chapter.
Not so much. Kind of needed a little break, so I took it easy today.
Learnt of the Hack computer architecture. Exciting stuff.
Continue consuming the material. Hopefully be done with it.
Write up the Unit 04.
Time is blocking today.
Not so much. Great with a little recap, and good to be up to date with the write ups. They're very good to have.
Get started on Unit 05 material.
Write up the Unit 03. What did I learn.
Some weeks ago, so already forgotten a little bit. It's no worries.
Great to recap every once in a while. Feels good. It cements the knowledge to go back I think.
Write the Unit 04 write up which I just finished and start reading the Unit 05 material.
Doing some write ups of the project. mult.asm & fill.asm.
It's sunday. Not soo much time. Spending time with family.
Nothing new today. Maybe a little brush up when reading the different sections again.
I will write some more write ups to be up to date. This is just as important as writing the code.
Finish the project. Write the fill.asm
Not being 100% confident with it yet.
I learnt a lot. Hoping it will stick. Well, i'll never know. When will I ever write assembly again. But I actually enjoyed it. Enjoying the struggling and piecing it together. Reminds of when I started to learn programming for the first time. Also learnt of A, D, M registers. Well I already know. A can be manipulated to be used as a pointer in loops. That was cool and had to click.
Writing some of the weekly writeups.
Try writing some assembly. Attack the Unit 04 project, which is two files. mult.asm & fill.asm.
Not quite understanding and feeling comfortable yet. Also time. Wish there were more of it today. Life happens but happy that I got time some time in.
Actually became a bit comfortable with it. Some simple programs which were handed out I looked at and just rewrote while tracing them and psudocoding it up. It actually felt pretty good! Wrote mult.asm which is part of the unit project and it passed the test. Awesome. I missed this feeling of learning and trying out different things. Felt great.
Continue the projects of unit 04. fill.asm. Learn more.
Finalize the material and get started with writing some assembly hack programs. Look at some of the handed code examples. Write some more of the Unit 01 writeup.
Hack assembly is confusing. Damn. It makes somewhat sense when reading it and when the instructors explain it while going through it. When I have the editor in front of me, I blank completely.
Keep trying. It'll come eventually. I learnt of the online IDE assembler and CPU Emulator. Looked at some of the code examples. Wrote some Unit 01 writeup.
Keep writing some hack assembly. I'll let it process for the rest of the day and through the night. It'll come.
Read more about the Hack Machine Language and understand it.
Played around with this blog a little too much. But I did get some good info on the Hack language.
Actually feel like I learned a lot and some of the concepts I had a hard time understanding yesterday, made sense. The pointers, memory registers and all that. D, A, M.
More Hack assembly. Finalize going through the material and looking at some of the handed code examples.
Watch the final content of Unit 04.
Some sickness got to me this week, unfortunately.
Learned more of the Hack programming language and Assembly machine language in general. It's still a little bit unclear and I'm not 100% confident in writing code yet. Looking forward to it.
Read the content in the book as well. Maybe watch some of the programming videos again. Maybe start coding some .asm programs.
Watch the material on Unit 04.
Not enough time to watch all of it in one day.
Learned of the Hack Assembly Machine Language and Machine Assembly Language in general. Looking forward to learn more.
Continue with the material. Video and text.
Finalize the project. Completing the Program Counter (PC)
Was struggling a little bit with it. Could not figure out how to route the logic. The programmer mindset kept me back. You can't just loop and if statement your way out of it. No early returns.
Had to wire them together from their inputs to their outputs.
Start Unit 4
Finalize the reading on Unit 3 and start the project.
Full understanding of what happened. I kind of got it at the end when I implemented the RAM8. The bit & register made sense, but was struggling a little bit with RAM implementation. Had to figure out how to route things the right way. dMux8Way and Mux8Way.
Learned of RAM implementation and how they stack on top if each other. Just like many other things in computer architecture. It's awesome. bit-register -> 16bit-register -> RAM8 and so on. Everything made sense when I was reading and watching the videos, but as soon as I had to implement it, I blanked. That's okay I think. Piecing it together.
Finalize the project.
Watching the final videos of Unit 3 and reading the material.
Time. Didn't get all of the reading done.
Learnt a lot on memory. Very cool. Data Flip Flops. Registers. How RAM work and how they're basically stacked on top of each other. Very interesting.
Read the final section of Unit 3 & start the Unit 3 project.
Getting started with Unit 3. Watching the video material and understanding the theory.
Time was a little short today unfortunately. Also learning new concepts might make me a bit slower. I'd rather understand than power through.
Got the idea of sequential logic and the 1-bit register actually made sense. Same with the DFF(Data Flip Flop)
Will continue with the video material and also try and read the Unit 3 section of the book.
Finalize the ALU.
Not quite sure how to get started.
Learnt how to implement it and it worked flawlessly. The syntax was the tricky part and some of the end gates. It finally clicked during the process of working on it and that it was a pipeline and not data that was flowing parallel. I keep thinking as a programmer, looking for if statements and such, but i get through it. It was a nice feeling to get it working.
Unit 3 beginning.
Implementing the ALU chips in HDL.
Time and understanding.
Learned about some HDL syntax. Also the FullAdder, Add16 and Increment16. Got all of them. Was struggling with the Increment due to the syntax. I had the right idea.
Building the ALU chip from all the building blocks. Looking forward to it.
Reading the unit 2 chapter and starting the project 2 tasks.
Not a lot. Read some parts a couple of times. The theory makes a little bit more sense now. The ALU implementations i'm worried of but lets see. Also the ALU inputs i did not understand fully. Implemented the HalfAdder but was struggling with the FullAdder.
HalfAdder, FullAdder, Incrementers and the basics of binary addition and subtraction. Learned about two's complement for negative numbers.
Continue with the project and implementation of the ALU chips.
Watched the whole Unit 2 on youtube.
Nothing really. Understanding if anything.
Learned about the ALU(Arithmetic Logic Unit) and what it is used for and how it is built. Learned of adding/substracting binary numbers. Binary to decimal conversion simple.
Trying to implement the ALU in HDL. Will start the Project 2 tasks.
Only read a little bit about C. Did some git setup on my laptop.
Time was pressed today.
Multiple git users on the same laptop. Also learned of a selfhosted gitea solution. That works very good.
C information and gitea selfhosting.
Reading nand2tetris unit 2 text.
Finalize the last logic gate implementations for project 1.
They were hard to understand at first. The logic is not quite there for me. Hope that it later will make more sense.
A little bit of a realization of how the logic gates work together. Still a bit fuzzy. dMux4Way and all that.
HDL. Trial and error.
I got it at last, and the the dMux8Way was just copy paste from dMux4Way with some adjustments.
Probably read up on Unit 1 again. Otherwise start Unit 2.
Implementation of the HDL logic gates.
The logic behind it. The coding mindset. Need to change the mindset a bit to be more systems hardwiring. It's okay. It's a process.
Learned about a web tool that helps build the logic implementation. It clicked a little bit with the gates and creating valves instead of doing if statements in my head.
Building the logic gates. It's kind of cool.
Just playing around with it. Visualizing it. Drawing the diagrams before trying to code it.
Finish the last Logic Gates.
Getting started with the project 1 implementation.
Struggling a little bit with HDL and getting started.
That the first building blocks of gates are used on top of each other. Not, And and Or gates all build on top of each other.
HDL scriping/coding. Built And, Or and Xor gates. Wrote them i guess. Had a hard time understanding and planning the implementations. Had to look some of them up on Wiki. Not the HDL solution. Only the diagram.
Researching the HDL language.
Continue with the Project 1 implementation. The next gates.
Basically just reading and understanding the first unit of Nand2Tetris.
Understanding the logic gates and how they work together. Did not block too much. Read some sections twice.
Logic gates and how they can be combined to make more complex components. HDL.
Same as above. Reading through the material helped a lot.
Nothing.
Starting on the first project of Unit 1. Implementation section of the first project.
Getting started with Nand2Tetris.
Not really anything.
Read about what the project really entails.
Not much yet. Played around with their online IDE.
Starting Chapter 1.