New things, stuff, and more
Well, Happy New Years everyone! When I was first writing this, it was a bit early, around the time New Years happened, this has gone under a ton of revisions and more.
Anyways, welcome back to the blog, and yes the website has been updated, at least a tiny bit, I tried my best to find the best thing that looked nice, at first I was starting to try and use all of the Premade Github Pages theme(since thats how this website is hosted) and after like 2 days, I decided to go a different route.
Which was, albeit, a massive. fucking. challenge. Now I am trying to remember something that happened like a month ago and basically, I tried to go the route of not having to make my own website theme, which would require me to learn HTML, CSS, and JS(Stuff that i’m not really fond of, execept HTML and CSS, they are fine tbh.)
For example, here is an old picture I found of an old theme that I was going to use:
But, along with that you had this one. Which to be honest, I still kind of like. It won’t make me switch back, but it may force me to make an actual custom theme instead of relying on existing premade themes:
Now I had already customized this one a whole lot, and it was almost going to become the theme. As you know now, it isn’t. I forget the main reason why I ditched it, I think it was because I couldn’t figure out the post layout and maybe thats why, looking back on it. I really should of made a note or doc describing each theme and explaining why I didn’t choose one.
Looking back on it after the whole website restructure, I did a lot of things wrong, like a lot of things wrong.
Going into it, there is a lot to really unpack here so get ready to hear me blabber on.
So, most of all of this took a good couple of months, which explains the long wait for the last post. Since it took literally forever to get the og theme back, and have it all in a way that I like. Now, im sure i am glossing over a lot of things, thats to be expected, since im not really a webdev, so a lot of these things are just very confusing
So it all started from a Learning Jekyll/Github Pages tutorial, where I was trying to learn how to install a theme and how jekyll works, which did help me to be honest. Next was trying to find and install one, which was a fucking nightmare. Like I really mean it, both ruby’s bundler(at least thats what I think it comes from) and jekyll could not load or even apply a theme that I installed from both bundler, jekyll, or ruby. Which really confused me, since that I was following another tutorial(that i cant’t seem to find) which was telling me how to use bundler, ruby, and even jekyll. After I got that figured out, I needed to customize the home page, which I couldn’t find the original source of the downloaded theme, from ruby, anywhere. Which just pissed me off, since like I was just trying to apply a simple theme, I really didn’t expect it to basically put me into a part-time job. By this point, it had already been like 3 weeks, and I was really starting to get tired of this whole thing. So after I figured out how Jekyll worked (again, thanks ArchWiki!) I decided to download the source code of a theme, and then have it use that, which actually worked! Well, somewhat at least.
In order for a remote theme to work, you had to specificly define it inside of the “_config.yml” file and, I think, the Gemfile. Which if you know any form of a language that has its own package manager can be hell for you. For example, you had to install both bundler and jekyll from ruby(so you had like 2 different package managers for this which already confused me, coming from Rust at least)
Now, you may be asking, What the hell is a Gemfile and a config.yml file?
Well to shorten it up, a gemfile is a file that is used to describe the gem dependencies required to execute associated Ruby code. Now a config.yml comes from jekyll that you need to edit for more weird things to handle with your website.
With that all in mind tho, the very next issue was bundler, which was the longest, weirdest, and hardest issues to fix. If you recall back to when I installed a remote theme, I explained that I put in into the root directory of the website folder, since thats jekyll wanted me to do it, well, you had to define it inside of the config.yml(as I said above), which also needed its own ruby dependencies, which caused its own hoop of things. Number 1 was that, any change that I made to the gemfile, would break the bundler when it tried to fetch literally anything. Would just pop up with this weird comment:
this error that you see here is really a different error compared to the other weird dependencies issues. Its a whole another issue to talk about
Configuration file: /home/milk/Programming/milkjug1.github.io/_config.yml
Source: /home/milk/Programming/milkjug1.github.io
Destination: /home/milk/Programming/milkjug1.github.io/_site
Incremental build: disabled. Enable with --incremental
Generating...
Remote Theme: Using theme abhinavs/moonwalk
Jekyll Feed: Generating feed for posts
done in 0.813 seconds.
jekyll 3.9.0 | Error: no implicit conversion of Hash into Integer
/home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/pathutil-0.16.2/lib/pathutil.rb:502:in `read': no implicit conversion of Hash into Integer (TypeError)
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/pathutil-0.16.2/lib/pathutil.rb:502:in `read'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/jekyll-3.9.0/lib/jekyll/utils/platforms.rb:75:in `proc_version'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/jekyll-3.9.0/lib/jekyll/utils/platforms.rb:40:in `bash_on_windows?'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/jekyll-3.9.0/lib/jekyll/commands/build.rb:77:in `watch'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/jekyll-3.9.0/lib/jekyll/commands/build.rb:43:in `process'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:93:in `block in start'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:93:in `each'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:93:in `start'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/jekyll-3.9.0/lib/jekyll/commands/serve.rb:75:in `block (2 levels) in init_with_program'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/gems/jekyll-3.9.0/exe/jekyll:15:in `<top (required)>'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/bin/jekyll:25:in `load'
from /home/milk/Programming/milkjug1.github.io/vendor/cache/ruby/3.0.0/bin/jekyll:25:in `<top (required)>'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `load'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:58:in `kernel_load'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli/exec.rb:23:in `run'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli.rb:477:in `exec'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli.rb:31:in `dispatch'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/cli.rb:25:in `start'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/exe/bundle:49:in `block in <top (required)>'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/lib/bundler/friendly_errors.rb:128:in `with_friendly_errors'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/exe/bundle:37:in `<top (required)>'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/exe/bundler:4:in `load'
from /usr/lib/ruby/gems/3.0.0/gems/bundler-2.2.26/exe/bundler:4:in `<top (required)>'
from /usr/bin/bundler:23:in `load'
from /usr/bin/bundler:23:in `<main>'
This is the entire error that got called when I ran, or tried to run
bundler exec jekyll serve
Which is how is the main program for allowing me to write markdown text and have it be displayed on a website.
This was one of the weirdest errors i’ve gotten from jekyll and this one was a pretty hard one to fix, since that I swear im just the only one that has had this issue, because every “fix” doesn’t fix it. It actually makes it worse which is not what you really want to be honest.
After a while, this kept happening over and over again which was really not a good thing, since I had just finished blog3 when I was starting to get all of this done. After like 3 days of looking this error up, I found one that said that I needed to switch to ruby2.7. It somewhat fixed it, I mean by somewhat it just muffled it. Now it was really a good thing to do since it stopped the issue from happening so much. Which is when I posted blog #3. I hadn’t figured out a theme by this point and I just really wanted to get a blog out.
Unfortunately at the moment, I can’t seem to find a way to get the dependency issue to arise.
I know that im going back to getting a theme but don’t worry, the end of this jekyll hell will end soon, With getting a them, which was the hardest part of all of this because since as we recall back up above somewhere It was a bit weird, well here is going to be the technical part. So with a weird jekyll issue fixed(again somewhat), than came setting the theme of the website. So I had to go this weird route of finding a good theme, downloading the source of it, and then putting into the root directory of my website folder that I have. Which I already talked about, but remember how that I said that no matter how installed it, it wouldn’t work. Well it was because of where ruby/bundler put the file(even tho I told it to get the theme from that directory, and I also had to define it to USE that theme inside of the config.yml file.) Well, no matter which kind of theme that I had, it wouldn’t work sometimes. Since you need NOT define a theme for any form of a custom theme inside the root directory in order for Jekyll to use it, which is very dumb to be honest.
Anyways, i’ll save my rant about jekyll for ANOTHER blog post since I don’t want to make this just about jekyll, since that would be probably boring and something you don’t really wanna read.
So what else have I been doing?
Well funny you ask that, I haven’t been doing too much(at least of importance and how good it is) Basically i’ve been trying to work on OLL and see how oculus link works again, and drew a concept on how I wanna debug Link to see how it works. Which all starts with DLL injection, which sounds very weird to suggest that. During the livestream of “reverse engineering” the Oculus drivers for link, I found out that there is drivers for both the Oculus link and the Oculus quest and it made me wonder something; How could I use those .exe’s separately and independently from each other and see how each works together, trust me its not going to be a fun thing, but hey, its a start. It may work for helping me understand how Oculus Link works, since there is no form of documentation on the Oculus Quest, that wil actually help me understand how the device works. There is another thing that I know about the Oculus Quest,its an android device, which means its built upon linux, which i found the repo from Facebook(Technically Meta, but idgaf) that hosts their own build
Which will help me since, there is gotta be something to do with the quest somewhere here. I just got to dig for it and unfortuntly it will be a while. Another thing i’ve been debating with my self on, and that is, How should this program be built. Should it be built on C/C++, Rust, should it be a GUI app or CLI app, how should it connect, and more.
With the current way that OLL is built, its made into its own different cores and modules. The About file inside of that repo does go into more detail, but to break it all down, rust can allow you to create a special kind of a project. Either one that can be run by itself and me a program, while the other is going to be built like if it was a library for a project. I decided to break OLL into different sections and have different cores and modules.
The reason for this?
Well it all boilies down into how I want this project to be built, now if any of you recall from my OLL video, I mention about another open-source project called ALVR which aims to allow you to wireless stream games to from your pc, to your quest. I was thinking about using them, like their own program, and modify it so that it only works wired and then see what I can do from there.
I have to use them to get any form of info of how the damn device works, since they have a really good amount of documentation of how their software works and also how the quest works with this.
I wanted to take a couple pages on how they do things and see if I can incorpate it inside of my own repo as a way to, not only speed up development, make it easier to debug things.
Now the main/biggest point from this is what language should it be made with, and well its a bit of a double edge sword since that both languages have their own pros and cons that I both like and dislike equally, and that one is objectivly more easier to write in than the other, but could be a bit of a pain in the butt to actually do anything technical. I really am still deciding on this, but I did come up with a plan. The plan goes about like this, first make a concept of it in Rust(like working concept, just enough to ge t the basics down), then rewrite it again in C/C++. Now if I was going to use C/C++ i would need to learn Makefiles and CMakefiles, both of which im not very fond off and really don’t like(mainly CMake, I like Make a bit more).
Going away from OLL, what else is there?
Well there is me trying to work on a couple of other side projects, one of them is having to involve something to do with BGFX, a cross-platform graphics API. And the others, have to deal with me trying to make a physics engine(just want to see if I can, and it looks like I cannot seem to find a tutorial on how to do this).
Also I have been learning about moblie app development for a bit at this point, the reason why I am learning app dev is really because my robotics club deals with arduino and that we still don’t have a offical way to drive the bots. Reason why, well the original app that we were using, took it down for some unknown reason.
Now I’ve been trying to learn android app development since I would feel like I could get around all of the short comings of the app that we used, unfortunely I can’t make an app for IOS(I could build an cross-platform app in c# to combat this) since A, I don’t have an IOS device and B, I don’t understand swift/what ever the language Apple uses for IOS.
Not really sure how I want to go about it, but I would like to make an app for my robotics club so that we have like, drivable robots. Now you may be asking, why don’t get some controllers. I asked our robotic teacher that and he basically said that we can’t since we would have to buy like 10, and depending on what they are that could be expensive, but also we would have to modify the bluetooth module so that it could work with it. Not to mention the code that would have to be re-written so that the controller could function with it.
Anyways, that about sums it up. Thank you guys for reading this post and actually coming here, and also thanks for the wait. More longer blog posts are coming, it will just be when I start a really complicated project, and trust me, they will be long.
So yeah, hope y’all have a great day and I’ll see ya later, stay tuned for more things to come!