1. 109
  1.  

    1. 20

      The poetry translations this links to are incredible. I’ve only read the first one and I will certainly read them all. But I’m not sure I have space in my head or heart to read more in one day.

      1. 13

        Thank you! I put a lot of work into it, but unfortunately got burnt out/burdened with other things to continue. Maybe one day.

        1. 2

          Thank you! The effort shows. They are just beautiful. I have shared them with so many friends and family already.

          1. 2

            They’re marvelous, and the amount of translation you already did is a lot of work.

            1. 1

              Agreed, very incredible. Thank you for your efforts.

          2. 10

            I agree with the points on code and project organization but I’d say these are more Rails/Ruby-oriented points and not a general issue. The main problem is that Ruby itself gives us very few tools to organize code: there’s no package-level segregation where one can think of packages like a separate unit from the rest, calling code from different modules is syntatically hard, plus the Rails community focus on arranging projects by taxonomy rather than subject (“models, views, tests” and not “authn, search, accounts”) means every folder is a grab-bag of different things that don’t belong together.

            Different solutions have been tried over the years but they all depends on people following unwritten conventions. In all large Rails projects I’ve been on cross-cutting concerns show up everywhere in the codebase like a virus and it takes a lot of discipline to prevent it.

            This isn’t a general problem that feels the same in every language though, it’s much less of a concern in Go and Rust for instance.

            I am kind of principal engineer in the US company Hubstaff

            How curious, I almost went to work for Hubstaff. I eventually declined the offer for a different place but it seemed like an interesting company. However I can’t even begin to imagine how mundane and unimportant software work must feel in the midst of a war…

            1. 19

              I agree with the points on code and project organization but I’d say these are more Rails/Ruby-oriented points and not a general issue.

              Well, yes and no :) Of course, it was a talk for a Ruby conference drawing from my mostly-Ruby experience (I probably should’ve included Ruby specificity in the title to post here). But I believe that the set of ideas/directions of thinking I am talking about (looking at code as text/stories, focusing on “truth” and “telling how it is”, attention to what “page of code” can tell, etc.)—even if sounding somewhat naive/idealistic, can be applied more universally. I’d probably choose other ways to illustrate it and build a narrative if targeting a more general audience. I’d actually probably be in the future :)

              However I can’t even begin to imagine how mundane and unimportant software work must feel in the midst of a war…

              Yep, pretty surreal at times! Not as much now (I am in relative safety, performing tasks not completely unlike my “civil” job, though much less mundane), but the first months in the army were quite wild. Reviewing code that handles things like “refactor the representation of a specific task tracking metric for small US companies” on a satellite connection in a heavily bombed frontline settlement between other duties… Fun times.

              But the interesting thing is that you remain your old self even in those conditions. I started working again just a few weeks after the start of the full-scale invasion (when still a civilian/volunteer but in a city that was then very close to a frontline), and in a few months, I was able to be again interested in software development and start writing blog and trying stuff when I had time. Humans are weird like that.

              1. 17

                the Rails community focus on arranging projects by taxonomy rather than subject (“models, views, tests” and not “authn, search, accounts”) means every folder is a grab-bag of different things that don’t belong together.

                You’ll maybe laugh, but I did present Padrino as an alternative to Rails, for those that want different taxonomies at a conference and literally got shouted at by someone in the Q&A for what my problem with Rails is. I mean… the whole point of the talk was that there’s different tastes and Padrino caters to a different one.

                Another issue I ran into was that I worked once at a company that did use Padrino and I did build a project setup that was similar to how you want it, using Padrinos mountable apps feature (Imagine a folder per concern, with an optional Rack stack in front of it). I got into a long discussion with their tech lead in which he was telling me I was not using the feature as intended. I’m the author of the mountable apps feature…

                It’s sooooo hard to get these things out of peoples brains. Rails scaffolding was an amazing feature to show that webapps could be built swift. But it came with such an amount of damage.

                I love Ruby, Rails was always… something I had to deal with.

                1. 7

                  One of the most important things I learned from school was from TA’ing a class, when I realized that different peoples’ brains can trace different paths through the same terrain. Go far enough and there’s seldom a single optimum path, even with the same starting and ending points.

                  1. 1

                    I hadn’t seen Padrino before. Cool. Thanks for sharing.

                    1. 6

                      Happy to. TBH, nowadays, check before you buy. Padrino is maintained and has a few gigantic deployments no one talks about (and I can’t), so it will stay around. But there’s also Hanami and all the others out there.

                      But I think it still strikes a super good balance between helping you, but also being able to pop open the hood and figure things out yourself. The whole project is is built against a stable and documented internal API that lived for a decade. So for example a newly generated project just generates you a boot.rb that you can actually follow and rearrange yourself. And because the API is stable, your re-arrangements will survive version upgrades (or… it’s a bug!).

                      It’s the project where I learned a ton about collaboration and I will always be thankful for that.

                  2. 6

                    plus the Rails community focus on arranging projects by taxonomy rather than subject (“models, views, tests” and not “authn, search, accounts”) means every folder is a grab-bag of different things that don’t belong together.

                    Laravel does this too and it pisses me off

                    1. 2

                      Several large Ruby shops have created package tools like you describe. Shopify released theirs as packwerk. I haven’t used this one, but it looks very much like the one I have, perhaps due to employees cross-pollinating.

                    2. 5

                      Wasn’t expecting much. A blog linked to by its own author here on lobsters is usually a bad harbinger.

                      I enjoyed the read, though. Thanks for sharing.

                      And I especially enjoyed some of the code examples. There is beauty in simplicity.

                      p.s. And “Slava Ukraini!”

                      1. 18

                        I’m still sometimes at odds with the “self-promo” rule on lobste.rs. I know why it exists - as a structured and principled manner of making sure that lobste.rs doesn’t become a self-advertising site. And I support it as a guiding principle. But sometimes i feel it’s misunderstood as “don’t post your own writing”.

                        There’s a number of people on this page who write highly relevant and good stuff and hoping for someone else to pick it up is… clunky. I want good authors with a good feel for what a good lobste.rs topic is to feel confident in posting it. This counts double for someone like @zverok who needs to arrange and plan his writing/interaction with being deployed in a war.

                        1. 3

                          It’s an interesting example of the Tragedy of the Commons. https://en.wikipedia.org/wiki/Tragedy_of_the_commons

                          I am not suggesting that I have a better answer, or any answer at all.

                          And I’m sure some day in the future I’ll post something of my own, and someone else will think the same thing about me.

                          1. 6

                            As someone who moderated larger bulletin boards myself, I have 2 guiding principles here myself:

                            • I trust good people to make good calls, build positive behaviour and comply if the feedback is negative. The principle existing allows those people to inspect it and see if it applies to them.
                            • I trust and appreciate moderators. I don’t agree with each and every call @pushcx and friends make. But I’m not doing the work so unless i think something is a grave mistake, I keep that silent. Curve is clearly in the positive.

                            To the second I have to say that I read the moderation log every week - It’s the best feature here. I don’t think it’s an ethical mandate to be transparent, but oh god is it helpful to illustrate the work that moderators actually do all the time.

                        2. 12

                          Thank you.

                          I post my own blog posts here, yeah… They say that “if it is worth attention, somebody else will probably post it,” but it never happened to me (while when I post myself, people are typically quite responsive, in a good way).

                          I should notice that Lobsters is my primary tech links/discussion source (alongside/r/ruby, but it has been mostly dormant recently). I visit it daily and am well aware of the annoyances of self-promo and common etiquette. I post here as “one of two places (again, the second is /r/ruby) where I’d like to have a discussion,” not as “one in the list of 20+ social networks I spam with my every sneeze.”

                          1. 3

                            I know what my frustration is, and it’s a bit embarrassing because it feels like being an old man and yelling at kids to “get off my grass!”

                            What happens is that I’ll be waiting on a build and test or something like that with enough time to enjoy one article, so I click on some interesting-sounding article here, and it takes me to some blog, and I start reading, and then realize that the quality of the article is just really bad. But I know that it’s from a link on lobsters, so there must be something of value here that caused someone to post it on the main page of lobsters (right?), so I keep reading, trying to find that amazing bit, and now I’ve completely wasted my time budget. I’m now a bit upset and I go back to lobsters and realize that the name of the blog is the name of the guy who posted the article on lobsters, and I have this horrible feeling in my stomach like I just paid for some fancy advanced degree from trump university or bought another timeshare. Then out of curiosity I look at their posting history and 90% of it is posting links to their own blog, and it just makes me want to give up on life and humankind.

                            I might be slightly exaggerating, but only slightly 😂

                          2. 6

                            My experience has been there’s a (moderation-enforced) line between “posting cool stuff you did” and “not doing much except posting stuff you did”. As someone who really has no other place I want to post the cool stuff I do, I think the line is in a decent place. Its presence suppresses the occasional urge of “I should really write something new so I can post it” which makes the quality of my stuff better, and I’m often on the lookout for cool stuff I read from other places that make me go “ooh lobste.rs might enjoy this”.

                          3. 4

                            The method you used to weave together those seven things (and much more) was beautiful and compelling.

                            I’ve read texts that attempted something similar, but those texts always ended up a discredit of their parts and the lesser overall for it.

                            EDIT: And I don’t even particularly like or enjoy Ruby - I stumbled upon this while logged-out.

                            1. 3

                              Thanks, I tried my best to weave together my experiences naturally (and not just shoehorn it all), that took, like, two months in planning and structuring. I am glad it working.

                              1. 1

                                I hate working in Ruby, but the examples were elegant and beautiful.

                              2. 3

                                Buddy, you made me miss Ruby. The Ruby I learned from reading _why’s book a million years ago. Thanks for this.