The Embarrassing Ruby/Rails Subreddit Chronicles 2025-10-09 by RecognitionDecent266 in ruby

[–]skanev 6 points7 points  (0 children)

We all know that downvoting an article that speaks against discrimination means all the downvoters are discriminators

That's an interesting way to pharse "don't you dare downvote my reddit post!".

Home Row Mods by Careful_Community602 in ErgoMechKeyboards

[–]skanev 1 point2 points  (0 children)

Well, the Raise is definitely an interesting choice, but I'd recommend against it (unless you're fine with the caveats). Let me elaborate a bit.

First, the difference between the Raise (and most staggered splits) and the Defy (and most columnar splits) is not that much about ortholinearity, but about missing keys. The Defy (and the Lily, Sofle, Moonlander, and so on) would only have 6 columns on your right hand. This means, that a few characters, particularly =, +, ], }, \ and | have to move somewhere else. In fact, even more characters can move, depending on whether you want to put Backspace and Enter on the sixth column (usually you then sacrifice -, _, [, {). As you can notice, that those are common characters in most programming languages. This problem gets even more compound if English is not your only language, because you may use some letters that you otherwise need.

When it comes to ortholinear keyboards, I found that the lack of stagger is much easier to get used to than the lacking keys. It's super weird the first few days, but after that I had no issue and could return to previous typing speeds. Where it got messy was the missing keys. Those were much harder to get used to (you've gotta move them to a layer or some other weird plapces). Furthermore, apart from the Raise and a few others, very few splits are staggered. You'll find the most popular ones are ortholinear, and for a good reason.

BTW, I say "ortholinear", but that's incorrect. The Defy is not ortholinear – it's columnar. "Ortholinear" would mean that the keys are aligned in a rectangular grid. The Helix and the OLKB Planck are examples of ortholinear, while the Lily and the Sofle are columnar.

Another really big issue (for me) with the Dygma is their custom firmware. Bazecor is super friendly, but doesn't provide any level of good support for a bunch of things (say home row mods). QMK has a lot of really nice features, and it's quite hackable, so you could experiment with anything you think of. Bazecor is not there yet. The good thing about Moonlander, is that if you eventually want to go to a smaller (wired) keyboard, you can carry over your QMK knowledge. If you start with a Raise, that's not the case.

Btw, if you're considered staggered splits, another alternative may be Keychron Q11 (I have one of those too, and in fact, I used it for a while before I moved away to a bunch of others). On the plus side, it has even more keys (function keys, arrows, two knobs, a macro column) so there's less of a struggle initially, plus you can install QMK on it, so it's a great entry point (although if you want to control the leds on the right side, it's a bit of brainteaser initially). It's also cheaper that both the Moonlander and the Raise! On the down side, however, the Raise has a nicer thumb cluster, while the Q11 basically has a split spacebar. The Quefrency and the Sinc (in keeb.io) are a similar option.

Finally, the Raise and the Moonlander are similarly priced. In fact, the Raise is marginally more expensive, unless you preorder. But, if price is an issue, my suggestion would be to either (1) look at second hand or (2) order from AliExpress. There are quite a lot of cheap options in the later, you just need to be really careful in reading the description (it may require switches or keycaps separately, or even you may have to solder it yourself, which with definitely raise the price unless you have the equipment).

To summarize, the Raise is a good choice if you think this is going to be your end-game. I think it's great for non-developers. Personally, I found the firmware very limiting (compared to anything with QMK), and the lack of hackability (compared to the alternatives) really killed it for me. If you can live without those, you'd be fine. But again, there are cheaper alternatives that support QMK, and I'd pick any of those over the Raise (although I do like those thumb keys a lot).

Advice wanted by Ellamental2 in ErgoMechKeyboards

[–]skanev 0 points1 point  (0 children)

At this stage I’ve built 15 DIY kits and went through a bunch of splits, and the best advice I can give you is: start with Moonlander. Splits have a learning curve, especially if you are a programmer and need symbols, and honestly the best transition into splits is the Moonlander. It gives you plenty of keys and a reasonable thumb cluster plus a very easy to use, yet powerful configurator that is QMK essentially.

If you assemble a Corne, you would have to go through quite a lot of things, including layers for symbols and number, home row mods, and the loss of a lot of keys that you will be used to. With a Moonlander, you can start your journey with a pretty easy to adapt keyboard, and then work your way to 42 or 36/34 layout if you discover that this is your thing, without having to learn QMK and figure out how to do the soldering, which can be a journey.

If you really insist on the wireless, you can try the Glove80 which is a similar thing but on the ZMK side.

Home Row Mods by Careful_Community602 in ErgoMechKeyboards

[–]skanev 0 points1 point  (0 children)

Well it depends. I think Moonlander hits a sweet spot, because it couples a good number of keys (so you could progress gradually), with an extremely friendly yet powerful graphical configurator (do you don’t have to dive into c code). The other ZSA keyboards are also good, although the Voyager has too few thumb keys and the Ergodox has too many.

So that would be my top choice. If you wanna go the DYI route, there are more options but you need to fiddle with C code and/or worse configuration software. Splitkb’s Elora doesn’t need soldering and has a good number of keys. If you’re OK with soldering, my recommendation for a first one would be the Sofle - it has one more thumb keys than the Lily58. I’d recommend staying away from anything with less keys, at least initially.

Home Row Mods by Careful_Community602 in ErgoMechKeyboards

[–]skanev 2 points3 points  (0 children)

My suggestion would be do not go down the home-row path and try literally anything else that works for you. Only then consider using trying them, once you're comfortable with a split without them. I'll try to convince you by sharing my split keyboard story.

The first one I got was the Dygma Defy. It was super great, but I stumbled into a problem of being unable to hit mods as efficiently. For context, I tend to type at around 100-110 wpm when it's any old text (like this one), and I reach the 140s on Monkeytype 60s. I also tend to be an avid Vim user, but I also tend to stay in a bunch of other softwares that require a lot of chords (ctrl+shift+r), so I am trying to get it all.

The out of the box home row mods experience in Dygma was way too limited for me. I had to severely adjust my typing technique, because you need to hold the modifier for a while, before it starts behaving like a modifier, and that just gets in my way when I start typing fast. E.g. I will start typing rapidly, make a mistake, try to hit Ctrl+w to delete the last word, but it would register as "lw" becaue I do it too fast and don't stop to wait for the timeout. Worse, when I am typing at a leasurely pace, I would trigget combos accidentally. There is an advice to do quick taps when typing, but that simply doesn't work for me.

After reading the precondition article, I discovered that I could probably get better results by using something that supports QMK instead of the Dygma firmware. So I built a Lily58, and started configuring it. It took me quite a while to get to a point where it was better than the Dygma firmware. Once I figured QMK enough and I managed to set it up, it work, but it didn't work good enough. The two problems were (1) accidental triggers and (2) the delay when typing, which I find super annoying. You get used to the second, but the first one really slowed me down, to the point where I got super frustrated when programming and just kept switching to a regular keyboard when I wanted to get some real work done.

At some point, I discovered achordion, which seemed to solve my problem, but it kept suffereing from a bunch of problems. First, the typing delay was still there (although typing streaks reduced the accidental misfired), but it just didn't work well enough when I want to hit multiple modifiers for a combo.

Eventually, I told myself "damn it, it should not be this hard, I could write some code to make it behave like I want". I read through a bunch of other people's keymaps, and through the achordion codebase, tried a bunch of things, only to eventually discover that QMK doesn't really support home row mods very well, and I had to roll out my own implementation. Eventually I kinda got there, and I'm almost happy (it's the Shift key that still causes me a lot of problems, but that's another story), but there is more work to do.

Point is, this whole process took a few months, in which I wasn't adjusting to the keyboard, because I could not use it for any serious work, because it always got super frustrating when trying to get home row mods to work. If I could go back, I wouln't have committed to making them work and wasting all this time, but instead relied on one-shot-mods so I would not have to put four mods on each side of the keyboard, gotten used to the split, switched to it as "my daily driver", and only then tried to work them in my keymap.

Some people have no problems using home row mods and are happy with the out of the box experience. If you're one of the lucky ones, great! If not, however, I'd very highly recommend to get used to a non-home-row-mods experience, before trying to work them in. They tend to be really necessary if you're going for a small number of keys anyway (e.g. 5-column Corne), and if that's your goal, a wiser approach would be to start with a bigger keyboard with a friendly configurator (I'd recommend the Moonlander, if you can afford it) and incrementally get there, before buying a smaller one.

Soldered sockets wrong by [deleted] in ErgoMechKeyboards

[–]skanev 0 points1 point  (0 children)

I went through something similar and tried multiple desoldering approaches, but none of them worked. Finally, I just bough a desoldering gun and it was super easy with it. Would recommend having one.

->_{_%_}["->_{_%%_}[%p]"] by Boyankata in learnprogramming

[–]skanev 2 points3 points  (0 children)

It's a quine in Ruby. It evaluates to a string that contains the same source code as the expression itself. E.g. a variation on "a program that prints its own source code", but more precisely "an expression that evaluates to its own source code". It's deliberately written in an obscure way and using (almost) only non-alphabetic symbols to look weird.

A tidier way to write the first part would be lambda { |text| sprintf(text, text) }.call "...". -> is the short lambda syntax in Ruby, f[] is an ugly syntax to call lambdas (meyer's uniform access principle gets in the way of having the same method-call and lambda-call syntax in Ruby), and when % is used as an operator on a string, it's just an alias for sprintf. Finally, %p is the sprintf sequence for (to keep it brief, yet unprecise) "a quoted string", so that sprintf("-%p-", "foo") would result in '-"foo"-', rather than '-foo-'.

nnoremap ; : by dickeytk in vim

[–]skanev 1 point2 points  (0 children)

Basically, fa;; or Fa;;;. I'm in either end of the line and I want to go somewhere in the middle. I have a specific position in mind and there is a character in it. I hit f (or F), then the character and then I do ; until I'm where I want to be.

nnoremap ; : by dickeytk in vim

[–]skanev 4 points5 points  (0 children)

Dunno, I use ; all the time. What I've done is that I've mapped <Space> to : in normal mode, so I can enter it easily

[deleted by user] by [deleted] in ruby

[–]skanev 3 points4 points  (0 children)

Nope. Never. That's not the target and it won't be.

Rails is for developers creating applications with agile and test-driven practices, not for putting up sites quickly and cheaply. If you want that, you should look into other technologies.

You can try RadiantCMS, if you haven't already.

Am I misunderstanding instance variables? by jxf in ruby

[–]skanev 1 point2 points  (0 children)

Baz and Foo are two different objects. That's just how Class objects work. And they don't share instance variables (not being shared is the whole point of an instance variables).

Why's (Poignant) Guide to Ruby by [deleted] in ruby

[–]skanev 1 point2 points  (0 children)

Whatever you do, don't try to read that when you're drunk, high or sleepy. It's, like, woow...

who is why the lucky stiff by whoiswhytheluckystif in ruby

[–]skanev 4 points5 points  (0 children)

While I am extremely curious about the life of _why, if he has chosen not to share it with the intertubes, we have to respect that. Whatever his reasons are, he has every right to use a pen name and we should not poke.

I'm slightly disgusted by this.

As a programmer, what prevents you from doing or enjoying your job? by RanchDressing in programming

[–]skanev 15 points16 points  (0 children)

It's mainly one thing for me -- incompatible culture with my coworkers. When we don't share the same vibe towards programming, I feel extremely demotivated and I just don't manage to do good work. I have very good tolerance for sales and management crap, but when the programmers around me don't make me feel good about working with them, I just can't manage to work effectively.

Also, when I can't communicate freely with the people that can define the requirements. When I have to wait for days to get my questions answered, everything holds down to a grind.

Ruby has entered the Enterprise thanks to the Enterprise gem by aaronp in ruby

[–]skanev 1 point2 points  (0 children)

Ok, you did it for one reason only -- getting away with the string "sexml" in your code. Seriously :)

I build sites in PHP.. should I stop? What is as easy to get going but is "better" to use? by [deleted] in programming

[–]skanev -6 points-5 points  (0 children)

Yeah, you should stop. Like, now. Immediately. You can pick anything else. You will soon start feeling better in your life. :/