1. 1

    If you’re going to write in a literate sort of style with long comments, you might want to change the syntax highlighting on your blog, as the current one renders comments in grey on dark grey as though they are noise to be ignored.

    1. 3

      I agree, the comments in the dark theme do look too muted. I’ll definitely look into improving that, thanks for the feedback!

      1. 1

        Done! It’s not perfect, but it’s the best I could find for now. Hope it’s a bit better!

    1. 4

      I’d be interested in seeing a strongly-connected components algorithm like Tarjan’s or Kosaraju’s written up like this.

      1. 2

        Yep, would be great to see @zachahn explanations of more algorithms.

        This style of explanation works for me.

        I prefer to see at the same time:

        • ‘wording’
        • pictures (even in ascii),
        • notes on the negative (eg why, something reasonably obvious, would not work),
        • precise working implementation and the outputs at each step for a sample input (whether it is an algorithm or a mathematical construct).
        • test questions (with answers)

        Often, although these days, not that often – I would print the same material, 4-5 times, and just add the parts (of the above) that are missing in the original explanation. That, then becomes my study guide, that I would go through multiple times.

        In my observation, many study guides/explanations could be categorized as

        • Study guide for benefit of the author (eg, to understand a concept, it is always helpful to explain it)
        • Study guide as an additive information share (eg. targeted at folks who are familiar with the area, but not with the particular thing)
        • Test/interview prep
        • Study guide as an ‘artistic expression of education’ itself (where the educational aspect is the art, and is the main point). Those would reflects authors gifts/skills on building up educational content.

        For a person new (or rusty) to a given area, it is the 4th category that’s probably the easiest, and most beneficial to consume. But it is also the most difficult and time consuming to author. This example, may be, started as (1), but ended closer to (4)

        1. 1

          Thank you! I’m very glad you liked the explanation 😄

          Yes I have to admit that the blog post was the first category. I thought it’d be helpful to write it down so that I’d have a reference for the future.

          Thanks for your feedback! I’ll have to keep it in mind for the future.

        2. 1

          I’ll add that to my blog backlog!

        1. 1

          Well written - easy read.

          1. 1

            Thank you!

          1. 11

            I agree completely with the point of the article. But one thing I don’t understand: why do people have so much trouble building IKEA furniture? How am I surrounded by such incredibly smart and capable people who, when faced with furniture, can’t follow simple directions? It’s bananas.

            1. 6

              Yeah, this utterly baffles me. Perhaps it’s a self-reinforcing cycle — building IKEA furniture is said to be difficult, so people find it difficult, so people say it is difficult, so…

              Was it genuinely difficult at one time, but now they can’t escape this trap?

              1. 1

                I also thought it was easy my whole life and always wondered the same thing, but a few years ago, I had a really hard time assembling a TV unit.

                Looking back, I think the directions were clear, but after a long day at IKEA and late in the evening, all the pieces looked the almost identical. So I ended up drilling holes in the wrong place and had to rebuild it a couple times.

                1. 1

                  I agree on that point, but I also find the lack of shading to be unhelpful sometimes. It’s easy to install things backwards and only notice in later steps because they weren’t explicit about the directionality of some component regarding holes or texture or whatever.

              2. 1

                It’s especially weird in that IKEA must put a lot of effort into making instructions that are as clear as possible. Granted, they are basically without text of any kind, but I’ve found that they’re generally designed to be clear and unambigous. Where there is symmetry, it’s called out.

                1. 1

                  It’s definitely the case with most no-name furniture kits I’ve bought. Perhaps the Wayfair effect is more correct?

                  IKEA is definitely a better experience. Less messing with rough edges or screwing things at odd angles. The instructions are just diagrams for easy localization, but they’re easy to understand.

                  1. 1

                    I think you have a will to build it quickly as you know that it should be simple. So you don’t read as carefully as you should, make a mistake and now spend hours debugging your furniture.

                    Reminds me something…

                  1. 3

                    Work, Animal Crossing, and programming for fun.

                    I’m surprised I like the game so much. Tracking the stalk market with my college friends has become one of the highlights of my week.

                    It’s been an interestingly productive season for my side projects. So far, I rewrote my static site generator, and I finally wrote my “ctags delegator”

                    So this week, I’ll probably test out my ctags delegator a bit. And I’ll probably start working on a new project, but I’m not quite sure what yet!

                    1. 3

                      This reminds me of something one of my friends is working on! I haven’t heard any recent updates, but I really liked his demonstrations of what it could do.

                      https://hyfen.net/memex/

                      1. 1

                        I’m so glad I’m on this site. I’ve never heard of a “memex” but it sounds like what I’ve wanted for years. I’m gonna watch your friend’s talk later today.

                        1. 1

                          I’d be really interested in providing either feedback or code if he’s still working on this.

                        1. 3

                          Hello! I’ve been working on this project for the past few months. There are a bunch of great admin frameworks already, but I wanted to write this because the Rails admin frameworks I knew about brought in too many dependencies. I’m generally of the opinion that code is a liability, so I’m generally hesitant to bring in more code than I need. (Super has a few prebuilt, vendored dependencies, but those shouldn’t interfere with the application itself.)

                          The closed source, paid version isn’t quite ready (still need to figure out some licensing stuff), but I thought it would be valuable to get some early feedback for the project in general. The list of TODOs never ends!

                          If you want to skip straight to the demos, here’s the one for Super Professional and one for Super.

                          Also, I wanted to note that I took up @mperham’s offer to chat. It was super helpful, thanks Mike!

                          1. 1

                            Cool work. Can I ask why you use POST requests instead of GET requests when filtering? Using POST makes it hard (or impossible) to bookmark or or share a specific view with someone else.

                          1. 2

                            Kinda related… is there a way to get my email – on a domain I control – to be delivered to two different mail providers? I’d love to try out FastMail, but not at the cost of losing my existing mail service during the trial period.

                            1. 2

                              At a protocol level, no (redundancy of MX records is for when one server is down) — but most mail providers have some mechanism of transparently forwarding messages which should allow this kind of trial?

                              1. 2

                                but most mail providers have some mechanism of transparently forwarding messages which should allow this kind of trial?

                                This is exactly what I do when trialing new providers I am interested in. This way no mail is lost and I can still play around with the new provider without fear of losing anything.

                              2. 1

                                I think you can try out a mail provider on a subdomain. I don’t remember if I ever tried that myself though lol

                              1. 6

                                I’ll be attending !!con! I’m a bit anxious about not going with friends lol, but I’m excited!

                                1. 1

                                  Feel free to come say hi, a lot of my friends will be there!

                                1. 4

                                  This is an absolutely well written article. Easy to follow, very detailed and incredibly insightful. Kudos to the author! Is the patch already included in the next Ruby release or is there a link to a pull request I can follow?

                                  1. 3

                                    Looks like it’s being tracked on the Ruby issue tracker! https://bugs.ruby-lang.org/issues/15667

                                    1. 1

                                      That’s brilliant, thank you.

                                  1. 2

                                    I built an Ergodox classic - it was very nice - but something about the layout felt a little rigid - i much preferred my kinesis advantage

                                    1. 1

                                      I agree about preferring the Kinesis Advantage! I originally bought the Ergodox EZ, and though it was nice, I didn’t find it very comfortable. I ended up buying two Kinesis Advantage 2 keyboards, for work and for home, out of my own pocket. (I’m looking to sell my Ergodox EZ if anyone is interested lol)

                                      Although I’d personally recommend the Kinesis Advantage if you’re looking for comfort, I do have to admit that I missed the additional two columns of keys for my index fingers on the Ergodox. I also miss the ability to map one key to many (like mapping ALT-Tab to a single key, or mapping a super key)

                                      1. 2

                                        The choice of switches is also much worse for the Advantage; I think there are only two or three middling options.

                                        1. 1

                                          This whole thread pushed me somewhat into the rabbit hole of reading about keyboards. It appears there is an Advantage-like layout out there now called Dactyl and Xah Lee seems to really like it. It has a later tweaked variant called Dactyl Manuform; I think they both might be interesting esp. to people torn between Ergodox and Kinesis Advantage.

                                        2. 1

                                          I put together an ergodox classic and immediately fell in love with it. I’ve also got the ergodox infinity and the ergodox ez. One thing I’d recommend is to go with the tent kit for the ez and/or 3d printed tents for the classic. I’ve never found the ergodox uncomfortable, but tents are definitely a welcome improvement.

                                      1. 2

                                        I’ve been working on a small clone of the annotate models Ruby gem in my spare time for about a month now. I’m pretty happy with it so far! I hope to get it to a place where I can give it a bit of a “stress” test on some of the Rails apps we have at work, hopefully later this week or early the next.

                                        Completely unrelated but my brother lent me Breath of the Wild this past weekend, and I’ve been liking it a lot. It’s definitely gonna distract me from my aforementioned goal :)

                                        1. 3

                                          My favorite programming podcast right now is The Yak Shave. I’d say that the topics are often Ruby-related or web-related but definitely not exclusively so.

                                          I really liked The Bike Shed, but the style of podcast recently changed to weekly interviews. I’m personally not a huge fan of interview-style podcasts, but the content and quality is still good. The archives should still be recent enough to listen through if you want to binge through them lol. It’s pretty similar to The Yak Shave, especially since one of the old hosts moved on to creating The Yak Shave.

                                          My favorite non-programming related podcasts are Planet Money, The Indicator, and Reply All. The first two are economics podcasts, very informative while also being enjoyable! Reply All is “a podcast about the internet”, but the internet is intertwined with everything nowadays, so it’s really just random stories, some serious but mostly fun.