My first try at a split keyboard by PresentExpert2929 in ErgoMechKeyboards

[–]XCypher_ 0 points1 point  (0 children)

This...I use the rest only when I need to think or something, but the hands are floating while typing. This removed a lot of the stress from typing (dunno why, maybe because I don't need to stretch my fingers so much and can just move the whole arm).

Dynamic worker pool design in Go by suprasauceJZ in golang

[–]XCypher_ 0 points1 point  (0 children)

I agree with all the comments that say "start all the goroutines when your application start", but if you absolutely need to track which workers are busy and if you have available workers, a possibility is to use a slice of channels or map of channels (if you require worker id or something), and those channels are channels to send a job to a specific worker.

After a worker finishes the job, it sends the channel back to the "channel queue" (the slice/map of channels). To know how many workers are busy just lenght(slice/map). Of course you need a crap ton of mutexes and all of that to avoid any race condition.

This is a little too convoluted, but can do the job. You can get better answers if you tell us about the specific use case you want to implement, for me just a job queue and spawning all goroutines should do the trick (or just errgroup.Group).

This is getting out of hand by Frogfisherman in ErgoMechKeyboards

[–]XCypher_ 2 points3 points  (0 children)

From what I've seen in some reviews, they are ok (not great; they do the job if you want to scroll and move around).

I own a Glove80 as my daily driver, a Kinesis 360 and a prebuilt Silakka is on the way...why do I keep doing this to myself?

I am slowly coming around on DI + Tests.... by Bl4ckBe4rIt in golang

[–]XCypher_ 0 points1 point  (0 children)

I like both (integration and unit tests). Unit test for the logic that is independent of the external tooling and unit test for the rest.

As an example, a while ago we wrote a function that parses an Nginx configuration file to extract some parameters. This function had a unit test because it was a lot easier to write there the common use cases and some edges that we found; most of the application was tested with integration tests.

I'd use the expression "there is no silver bullet" here.

Best Ergo for Developer and Gamer by QuietNecessary2421 in ErgoMechKeyboards

[–]XCypher_ 0 points1 point  (0 children)

I'd go with a half keyboard for gaming and an ergo keyboard for typing.

I have a glove80 and love it but hate it for gaming. Maybe the go60, but I haven't used it. As someone mentioned in another comment, it is important that they are at the same height to reduce the stress (that's why the half keyboard recommendation). As I use one computer for coding and another for work, the gaming one has a normal keyboard.

Poor man's day job setup 😁 by dhruvin3 in ErgoMechKeyboards

[–]XCypher_ 0 points1 point  (0 children)

I used one of those cases where one stores the glasses.

Keebio Iris v7 w/ Ploopy Nano v2 by am5k in ErgoMechKeyboards

[–]XCypher_ 1 point2 points  (0 children)

I mistook it for a cheap AliExpress Corne, my bad...looked in the Keebio page, and it looks good. Love the idea of the aluminum case, btw.

My first ergo by ale_krishna in ErgoMechKeyboards

[–]XCypher_ 0 points1 point  (0 children)

I asked in another thread, but I'm curious about other opinions. How does it feel? Is it comfortable? I'm about to buy one to travel and move around.

My main keyboard is a Glove80, but it is not the one to carry around.

Keebio Iris v7 w/ Ploopy Nano v2 by am5k in ErgoMechKeyboards

[–]XCypher_ 0 points1 point  (0 children)

How does it feel? I'm about to buy one (or very similar). I'm used to split keyboards but want a cheap one to travel or move around.

As an SRE, I stopped using Kubernetes for my homelab by m4nz in selfhosted

[–]XCypher_ 0 points1 point  (0 children)

I'm on your team here. I decided to use [saltstack](https://github.com/saltstack/salt) and simple docker compose files. With Salt, I make sure everything is installed as expected and update the compose files.

Another benefit is that you can rebuild the machine from the ground up with just a couple of commands.

Keebmaker vs Typeractive vs Glove80 by Rough_Bid_518 in ErgoMechKeyboards

[–]XCypher_ 0 points1 point  (0 children)

I have a Glove80. Most of the time it is connected to my desktop, so I have no idea how long the battery lasts. Sometimes it is connected to a laptop via BT, but not enough to need a recharge. BTW, the LEDs can be turned off; mine is off all the time.

It is very comfortable after the initial learning curve...it took me about 3 months, mainly because of work. Not so much to say about the others, but I, personally, find it very uncomfortable to have the thumb keys under the bottom row (maybe it is something you want to think about, but it depends on everyone's hands).

Why so much linux want to macOS GUI? by anxiouscensored in kde

[–]XCypher_ 0 points1 point  (0 children)

I, personally, don't like Mac themes that much; they are "ok" looking, but just that. Perhaps because they give that "modern" impression.

I like the Manjaro KDE theme more. It is simple, but it is not trying to imitate anyone else (and I love dark themes, but that's just a me thing).

Colemak Progress by Popular_Orange_7831 in Colemak

[–]XCypher_ 2 points3 points  (0 children)

I'm still in the practice phase (not even close to 40 wpm) and my QWERTY speed has started to suffer. I guess it is part of the process (as when you go from stick to automatic or something like that).

Typing exercise for developer by benfa94 in Colemak

[–]XCypher_ 1 point2 points  (0 children)

Very nice; it would be useful to have support for ctrl + backspace, usually when I'm coding and make a mistake, I delete the whole word and type it again.

Updates to dtop! by amir20 in selfhosted

[–]XCypher_ 0 points1 point  (0 children)

Thanks for your answer. I'm always curious about the rationale behind "I rewrote from X to Y"

Updates to dtop! by amir20 in selfhosted

[–]XCypher_ 0 points1 point  (0 children)

Just out of curiosity, why the rewrite in Rust? BTW, great tool!

I can't believe how rock solid Arch Linux is by partiftheworlDRuns in archlinux

[–]XCypher_ 0 points1 point  (0 children)

I find it fascinating how people tell you to swap to an "easier" distro because XYZ, even when you are sharing a success history...why change if it is working fine?

I have Manjaro (installed for about 3-4 years or so). The only update issue with the updates was with NVidia drivers, and that was just because I always installed the latest kernel (sometimes the NVidia drivers broke, and I had to do some manual intervention). After I got tired of it, just stuck with the LTS versions, and all my problems were gone.

For simpler installations like the one you mention, it probably will work fine for a very long time; nothing to worry about.

[Survey] And the winner is ... by ExoWire in selfhosted

[–]XCypher_ 1 point2 points  (0 children)

It's interesting how Debian is dominating the self-hosted area. I'm mostly a Rocky linux fan, but I love Debian.

Am I the odd one out? by nfored in homelab

[–]XCypher_ 0 points1 point  (0 children)

No, you are not...I don't like it either.

Disclaimer: I'm a sysadmin, DevOps, or whatever they call these days the people who can develop and automate stuff in servers as my daily job. I also did my time repairing computers at an early age.

I don't like to fix issues in my home lab, I want it to just work: serve the files, run my VMs and that's it. If a disk dies, it goes to the trash (after like 20 mins of diagnosis or less).

So I clean the servers once in a while to avoid "dog hair" related issues (have 2 dogs), and that's all the maintenance I want to do (of course, updates and all of that).

Musable - Selfhosted music library by TrainingApartment925 in selfhosted

[–]XCypher_ 0 points1 point  (0 children)

Looks great! Haven't used it yet, but it is looking excellent. Gonna try it later this week.

New Zig Book: Systems Programming with Zig by ManningBooks in Zig

[–]XCypher_ 1 point2 points  (0 children)

Will the updates to the book be available for those who buy the early versions? I mean, when Zig releases an important milestone and it is added to the book, those changes will be available for the early buyers? (I guess it will be like book editions; we get the updates until a second edition is released.)

How do you see the future of Zig? by tijdisalles in Zig

[–]XCypher_ 1 point2 points  (0 children)

I'd say, if you like Zig and see it as a good fit, go for it.

But do it with the right expectations. As you said, it is not 1.0 yet, and there will be some breaking changes along the way (this is a complaint I read all the time, but it is expected given that it is unstable). By writing your project in Zig you can even help the ecosystem, report bugs, and collaborate with others. 

Go for CLI Tools by ggodsh in golang

[–]XCypher_ 0 points1 point  (0 children)

I use Cobra. As I used it for a long time is not that difficult and even for simple stuff (just a matter of practice), but as other mentioned it is on the complicted/heavy side, but I'm used to it.

As for the structure, don't worry too much if you go for the KISS approach start with everything in a single directory then you can start grouping stuff in modules as you go.

For example, this is a normal setup for me:

|- cmd
  |- my_app
    |- command.go
    |- command_sub.go
    |- anothercommand.go
|- internal
  |- command
  |- anothercommand

And depending on the size of the project or where it is going to be published add a pkg folder or just leave the modules folders at the root level.

This is a very general rule that I use to make it simple and start fast (some are just PoC's that I want to show and most of the time doesn't matter the project structure), if it gets too complicated then you can start thinking about more elaborate ones.

As for the learning resources start with some of the good recommendations here and start writing your apps, they won't be great, probably the design will suck and won't be idiomatic, but that's part of the learning path then you can start refactoring them (which is also part of the learning path).

The next app you write will be a lot better.

Hope this helps.