KissYagni

joined 9 months ago
[–] KissYagni@programming.dev 0 points 1 month ago

My favorite one remains the Piet.

And also my favorite programs is How to compute Pi in Piet, where result precision depend on the resolution of program image 🀣: https://www.dangermouse.net/esoteric/piet/samples.html

[–] KissYagni@programming.dev 7 points 2 months ago

I use AI for small, atomic, stuff that don't bring any intellectual value to spend time for.

Like "Typescrit. Find smallest element in an array". "Python. Simulate keboard event to avoid computer going to sleep mode". Or copy/past error message because I missed an import and I just want to know which one.

I also use it sometime for well identified algorithm that could be interesting but are not the core of the problem. Like "C#. Clustering algorithm to group points together in a point cloud".

The generated code is catastrophic in term of performances/memory, but it's good enough 80% of the time.

But eveytime I tried to use AI for higher level stuff, or that require several interdependant concepts, it ended up into hallucination pit.

  • I have this problem
  • Cool ! Use solution A !
  • Doesn't work
  • My Bad, use solution B !
  • Doesn't exist
  • Indeed ! For this problem you should apply method A which will work !
  • (-_-)'
[–] KissYagni@programming.dev 2 points 2 months ago

In this case, I don't think silverbullet is the right tool. It's not like if an "admin" can hide all the complexity for end users by creating its own frontend. The complexity will still be visible to end users. As long as someone can edit a page, he will see the lua script behind.

If readonly, it just look like other wiki. The https://silverbullet.md/ site is itslef written in silverbullet. You can have a look to video to see how it works: https://silverbullet.md/Manual

Out of the box, there is no really "Admin" portal and "User" portal. It may be doable, but I cannot describ a workflow. I use it as a small wiki for my homelab because I like overcomplicated tool. I'm on neovim btw 🀣

[–] KissYagni@programming.dev 4 points 2 months ago (2 children)

It can. Silverbullet can do quite anything, that's where it's name comes from. You can code your own logic directly in markdown through lua like code, get pages tags, generates tables etc... but the tool is very "hacky". Either you love it, either you hate it. And if you are not a hairy nerdy guy, you will hate it.

[–] KissYagni@programming.dev 0 points 2 months ago

I was prepared to use my Cunningham Law mental model to correct your artticle, but no. I have nothing to say 😊

I've seen way too many wrong usage of git merge/rebase in lots of article but you get the point and clearly explained it.

Maybe just at the end, instead of

git checkout main
git pull
git checkout feature-branch
git rebase main

I would just do:

git fetch
git rebase main

This avoid checkout main and checkout back to working branch, which may takes times on big repos.

[–] KissYagni@programming.dev 6 points 3 months ago

You mean that a company whose business rely on collecting user data actually collect user data ?

[–] KissYagni@programming.dev 0 points 4 months ago (2 children)

Everytine I've seen a pre-commit hook in my job, it was something that should have been in integration pipeline.

You should not run linter, test or any static analysis tool in a pre-commit (I'm looking at you husky 😑). Why ? Because:

  • It takes time. A commit should be instantaneous.

  • It may change the content of the commit or of the repos without explicite action of the developer.

  • The developper's branch is the developper's mess. He don't have to respect any convention, any quality gate or any workflow on its branch. Quality gates should happen only when integrating into trunk.

I always commit and push on Friday afternoon before leaving as "WIP", in case my computer crash during week end. I don't want to address issues of a WIP job. I just want to backup my work.

I may commit several time per minute, and do a rebase latter. I don't want to spend 2min each time waiting for eslint to parse the repos. I don't want to fix styling because I now I will fix it later and rebase -i before pushing.

You can use custom pre-commit in your own workflow, but forcing all developer to have the same pre-commit is a bad idea.

 

I'm currently playing with qiskit, the IBM Python library for quantum computing. I don't know if it is good or bad; I just took the first one I found.

[–] KissYagni@programming.dev 59 points 6 months ago* (last edited 6 months ago) (7 children)

"Bad abstraction is worse than duplication"

Oh shit, thank you so much for this part ! I don't even count number of time I had to face enthusiasts developers saying "These lines of code are very similar, let's factorize them ! "

And that's how MathManagerHelper class is born...

[–] KissYagni@programming.dev 4 points 7 months ago

I gave a try to jj. It's fine for personal projects or small team and make the workflow a bit easier. No more "git add; git commit; git push" each time you do a modification. You just "jj git push" and everything will be automatically pushed.

However, the biggest criticism I have is that he doesn't encourage to push every time. It really encourages you to keep your modif locally and push only to create a PR, and that's not a good approach.

Even if you code is WIP, even if everything crash, you really should push your code to backup it. Who cares ? As long as it is not on master branch, it's your own mess.

 

I finally understood the Deutsch Algorithm.

All the articles I found dealt with the equations too quickly, and my math is a little rusty. Also, I never studied tensor spaces in school, so handling tensor products is far from natural.

I detailed every single steps here: https://kissyagni.com/the-deutsch-algorithm.html

There are probably more compact method to explain the algorithm, but this the one that worked for me.

 

publication croisΓ©e depuis : https://programming.dev/post/36003106

I'm continuing digging into quantum computing with some Quantum gates acting on a single QBit. Next one will be on multiple Qbit gates.

Representing Bloch sphere with sketches is a bit challenging. I'll try to find a better way to do this.

 

I'm continuing digging into quantum computing with some Quantum gates acting on a single QBit. Next one will be on multiple Qbit gates.

Representing Bloch sphere with sketches is a bit challenging. I'll try to find a better way to do this.

 

Just started my journey into quantum computing. I hope this would help beginners to understand what the hell is this thing 😊

 

Hey, just want to share a new step in my learning of Quantum Computing. I've digged a bit into Quantum gates and tried to redo the math by hands. There are probably mistakes, but that how you learn things.

Btw, I've also recently moved from WordPress to pelican, codeberg and statichost.eu.

[–] KissYagni@programming.dev 0 points 8 months ago (2 children)

I never really understood the advantage of worktree over having just several clone of the repos on different folders.

Can someone explain me ? I should have missed smth.

[–] KissYagni@programming.dev 0 points 8 months ago (1 children)

Exactly what I needed !

I recently moved my blog from wordpress to markdown based using pelican and codeberg and I was looking for hosting solution.

I just managed to deploy it to statichost (https://kissyagni-blog.statichost.eu/). I struggled a bit with DNS redirection but it seems to work now. Can anyone confirm ? https://kissyagni.com/

[–] KissYagni@programming.dev 2 points 9 months ago

Yes, unfortunately, we don't have time to learn everything, we have to choose. Sys engineer is a rabbit hole which is too deep for me, I prefer spending time on other things.

Currently, I'm into quantum computing. I'm configuring the uConsole so I can easily edit my blog on the go.

 

Just moved my blog from wordpress to Pelican. I was pissed of by the wysiwyg interface and was looking for simple markdown based blog engine.

Pelican is great and easily customisable with theme. It can also be deployed on a gitlab/github/codberg/whatever page (next step πŸ˜‹)

view more: next β€Ί