Old adage
What is not broken one cannot fix, but one can break something that did not need fixing.
Making code ninjas out of everyone
What is not broken one cannot fix, but one can break something that did not need fixing.
This time I took a deep dive into the cert-manager
that can automatically make Let's Encrypt Certificates inside a Kubernetes cluster.
I decided on making a useless side project. The reason? I needed a win and a distraction and it is just something that bubbles up every once in a while.
This post will be short and sweet. I had heard about Ghostty already before it publicly made a 1.0 release. Sometimes at first you cannot quite understand or grasp why something should be an improvement or what the purpose of something is or what it is trying to solve.
Docker, Rust, WASM, and many other things are on that list for me. Some I have figured out, some maybe not yet really.
Well the big selling point that Ghostty has is it is fast, feature rich and native. That last part is really important. Kitty is sort of native, but not when it concerns it tabs for instance. They are a non-native widget.
This means that if you install Ghostty on Windows, Linux and MacOS you can re-use your configuration and get the same experience.
So I am switching to Ghostty with everything. On a side-note I am still debating if using tmux
improves my flow or not.
I always have this sensation that I am forgetting to take something with me, or leaving something behind whenever I leave a restaurant, tourist attraction, a friend's house or going home from the vacation. Well it also happens when I move systems, distros or what have you.
This will be a short and sweet post. I just read about the fact they announced the pipe operator |> for PHP. This means you can flow the data through functions to modify it and such. That is fantastic for the few times you may have a need for it. The other times you will use it because you feel obligated or just are enticed to do so. You cannot help yourself, it is there so you will use it.
Meanwhile, one still cannot send a application/json
mimetype request to PHP server out of the box and get the variables in:
function auth() {
$username = $_POST["username"];
// The rest
}
Whereas, as far as I can tell the only change needed is right here. Just add the handler for the JSON one based on the example code that is already there. They did not do this for the last 15 years, where application/json
has definitely become of the main stays of web development. No let us focus on bringing functional programming to PHP of all things. At least these days you cannot use the argument anymore that PHP is not a compiled language.
I started using Vi, Vim and NeoVim a while ago already. At least 10 years already or so. I just realise I was at the start of NeoVim. In the meantime I used some different NeoVim distros:
I did that meme of the graph where noob uses little to no stuff, in the middle you do all this fancy stuff and then at the right you are at the other extreme and you use little to no stuff again. I am at the right side again.
When I started I found the fact you had to learn the config and use Plug
or Vundle
. Then in recent years the Lazy.nvim
came to the market, and everyone is using that now. Well with NeoVim
0.12 release we get native package manager.
So I decided to redo my config from scratch and instead of having a tonne of extra features that I will never use, just pull in the features I like and actually use and whenever I run into a problem of how do I this or how should do I that, just implement it at that time.
My current config of init.lua
for my NeoVim is about 145 lines long and most of that is enabling different LSP
s and TreeSitter
s. These are the plugins I use currently:
vim.pack.add({
{ src = "https://github.com/catppuccin/nvim" },
{ src = "https://github.com/stevearc/oil.nvim" },
{ src = "https://github.com/echasnovski/mini.pick" },
{ src = "https://github.com/echasnovski/mini.comment" },
{ src = "https://github.com/echasnovski/mini.pairs" },
{ src = "https://github.com/echasnovski/mini.icons" },
{ src = "https://github.com/nvim-treesitter/nvim-treesitter" },
{ src = "https://github.com/folke/twilight.nvim" },
{ src = "https://github.com/folke/todo-comments.nvim" },
{ src = "https://github.com/MeanderingProgrammer/render-markdown.nvim" },
{ src = "https://github.com/michaelrommel/nvim-silicon" },
})
These are the bare minimum I feel I use to do my programming in a nice flow. As you can see, there is no Mason
, one can just follow the instructions contained in the LSP config lua files I feel. I rarely setup a complete dev flow to test out a new language. Usually in that case I just run a simple Docker container that has the config and tools I need.
Another short and sweet post. I decided I wanted to change up my theme again. Once every so often it is good to do this. However I do like everything to be as consistent as possible. I understand not everything can be done that way, but a one off theme for NeoVim that has no counterparts in Terminal, GNOME Shell, and the like will not be one I choose. I settled on Rosé Pine Moon. It is quite lovely, whenever I fully have time I will use this as my base but make it all dark purples and oranges and golden yellows.
I recently switched to Rosé Pine as my theme. I just only had the GNOME Shell being Catppuccin. I forgot how I did it back then, but I discovered in my history of searching the following Colloid GTK Theme repo. That saved me. I cloned it locally, then added the necessary files. They even supplied rendering the assets for us.
What I think I will do is in the coming days is either make a full fledged PR for Rosé Pine or just have it on my own GitHub with a fork, so I can just maintain it there. I am not sure yet.
My DE looks very nice though currently. The last thing I need to figure out is the default background for things like the file manager and such.