Daily Post Image from Upsplash

September: 12th

2024

Zoids

The best way to keep the day flowing is by watching zoids, I am actually super excited to watch the rest of the show later tonight. Granted its over two decades old at this point but I think the story and character flow still holds strong in 2024 and honestly, its unlocking those childhood memories too. While watching the show, I had to look up the lore on how the zoids are created and it was rather interesting, they eat metal and have this cyber-spirtual connection to the environment.

Nvdia

Good to see $NVDA move up to the $120 mark, I am looking to dump my 10 calls once it hits around $123.00 or $125.00, but I think I am being a bit greedy. This next swing should net me around $7K but no where near the ealier swing of almost $10K in profit. Its basically paying for my trip to japan!

PGRX

Back to development work, this time its converting over the postgres extension to operate a shared library! The idea here would be to run a background worker within the database that would handle some async functions like HTTPs requests and managing some tables. Normally I would handle this within the API, but I think it would make more sense to migrate this over to the database side, I might even sneak in some other concepts here and there. The part that I am currently stuck on is handling the table generation, I would like pgrx to create the SQL schema based upon what I provide it, rather than manually doing it via a SQL file. Okay, to wrap back around the main issue that we had yesterday, the pg_sys::Datum is an opaque data type and that makes things a bit rough for rust and its type safety. The solution would be to design a table within the sql database that operates as a data queue, I believe there are a couple more parts of this that can be extended out in the future. When getting the datum via the arguments, we need a function to help us process it to a string.


fn datum_to_string(arg: pg_sys::Datum) -> String {
  unsafe {
    let cstr = pg_sys::text_to_cstring(arg as *mut pg_sys::text);
    CString::from_raw(cstr).to_string_lossy().into_owned()
  }
}

Yet we can also toss all of this out and pivot to the table method, putting us back into the safe rust zone. Once the data that we want to process is inside of the table, we can safely assume the type and then move forward from there. There might be some issues with the locks, but I think we can handle that as well. Besides adding in serde, we should also include a thiserror as well to help with the error handling.

Commits

During the pull from ‘patch-’ into ‘dev’, we should make a quick change that will keep all the commits within the body of the pull request. I believe we would have to not only grab the log but also sync the commits too for each additional commit that gets made. Okay, I went ahead and updated the patch, so that it should collect all the commits and move it up to dev. If this goes as planned, then it will make it easier in the long term to keep track of all the changes. Damn this error:


Run echo "::set-output name=commits::$(git log --oneline origin/dev..HEAD)"
  echo "::set-output name=commits::$(git log --oneline origin/dev..HEAD)"
  shell: /usr/bin/bash -e {0}
fatal: ambiguous argument 'origin/dev..HEAD': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Ran into a couple issues but I was able to figure it out! Now that the PRs a bit cleaner, we can look some ways to improve the commit messages and isolate the changes. I believe the sync and open should be isolated cases, we can have the gpt-style integration run but change the prompts based upon these two different events. Now I am just updating this journal entry to test the pr and making sure it looks nice and clean! Damn, looks like it failed to update it upon the open. This is a new branch and this entry part of this journal is just to test case it. Interesting enough, that did not work and it might be because of a race condition, thus I am thinking we might want to try labeled instead of opened. Now lets trigger this ci-patch again with a new pull request. This was so annoying, I forget how much I hate doing ci-cd sometimes, it feels like I am going backwards with my time xD.

Dev

Now that we got the patch branch resolved, we can look at making improves to our dev branch. There might be some issues here and there, but I think we can resolve them if we walk through it all in small steps. We could step up a bit further and organize all the commits that are being made into some different categories. After updating those categories, we can pull in a quick ai magic too and give us an updated summary of all the changes too.

2023

  • 8:49am - Backend updates should be automated but I am running into a couple different issues, including the backups and data management. The next move would be to build out self-hosted Github runners that we could call within the repo? They would handle the migration of data but outside the scope or control of Github. Furthermore, I think there should be a backup plan for the Github repos themselves, which I have noted.
  • 11:30am - First time in a while where we had a solid lunch with the co-workers, I am always excited to hear the interesting hobbies that people are involved in! I did not know that you could easily build your own in-house hardware because circuit boards can be printed on demand per unit?! I knew it was a service but never realized that it is not just a B2B but a growing B2C operations.
  • 1:09pm - Watching the Apple event! It makes me want to make apps for their products a bit more, its like a motivational speech for tech nerds.
  • 1:36pm - Adding Scene management into virtual engine file, I am also thinking of just making the whole VE file be something that I can reference almost anywhere in the future. It feels weird to merge everything into just one file but slowly it just seems to make more sense as I am going through it.

Quote

But friendship is precious, not only in the shade, but in the sunshine of life, and thanks to a benevolent arrangement the greater part of life is sunshine. — Thomas Jefferson


Tasks

  • [ ]