1. 11

    With regard to Rails and Django specifically then that is a matter beyond comprehension. Neither Ruby nor Python should ever have been utilized for web development. They are simply ill-suited because they are too slow.

    Such a broad statement seems very shallow. Slow in what way? Development is MUCH faster in Rails than using whatever Go framework the author has in mind. And in many applications this is the “speed” that matters. There are too many billion dollar companies doing just fine providing services with Rails, your tiny web app doesn’t need to scale to millions of users.

    I don’t disagree that people could learn a lot from coding a Go web application, to broadly pronounce Ruby (or really even Python) as the wrong tool for any web development job seems ignorant.

    I agree with the author on the sentiments regarding super heavyweight front-end JavaScript, though. The JavaScript/SPA model is a scourge.

    1. 12

      Yes, the author completely misses that the reason that Ruby+Rails and Python+Django became popular is that developer time has been more costly than computing resources for decades now.

      1. 3

        Whose computing resources? Why is wasting the time of users with old computers or phones and slow connections, considered such an acceptable tradeoff?

        1. 5

          Ruby and Python run on the server, not the client. The speed would not be affected by the user having a fast or slow computer.

        2. 1

          Actually the author doesn’t miss it, but explicitly meetings it.

        3. 5

          They also miss the fact that can have a super slow back-end and still a fast experience overall. My work’s service is running on rails and is not very fast, but most likely you’ll never notice, because almost every site will be served from a cache PoP close to you almost immediately.

          For many services it’s viable to literally rebuild affected views after an update and almost never hit the path that does database queries. Most services are not big enough for this to matter though…

        1. 34

          A poor blog post. The author notes that the source of modern web development issues is based in economic reasons and yet continues to insult the devs as if they are solely responsible.

          All in all, full of hyperbole, limited actionable advice, and gliding directly past the source of the issue to land some weak insults.

          1. 9

            I was going to say something similar. The author almost gets to the realization that the major problem driving the “bad” things about the web are economic in nature, but none of their so-called solutions address that, other than saying “don’t do that”.

          1. 8

            Emacs is not really an editor either! I believe that Emacs is the ultimate editor building material.

            Some people put it in terms of “it’s basically a Lisp machine environment”, and they’re not wrong (albeit it’s not a particularly good Lisp machine, I guess :-P).

            I’ve been trying to get myself to use VS Code on and off for a few years now, as Emacs is not exactly thriving tech these days and I don’t suppose it’s going to get much better in the next fifteen years. Aside from muscle memory and weird UI choices (why in the world are we using three lines’ worth of screen estate to show the current file name and three icons!?), the fact that it doesn’t have the kind of introspection and interactivity Emacs has is what’s giving me the most headaches.

            I want to automate some tedious code generation, or generate some test data? That’s five lines of Emacs Lisp, bind them to a key (I can do all of that in the scratch buffer) and there we go. As far as I can tell, if I want to achieve the same thing with VS Code I pretty much have to create a custom extension, which I then have to package and install. That’s… quite an involved process for a one-off function.

            1. 10

              Emacs is a view of a better, alternate reality, where our computing environments were completely under our control. It makes a bunch of compromises to the world-as-it-exists, and has many hideous warts, because it’s old, but it’s the best computing environment widely available, by my metrics.

              1. 6

                I have never used emacs (ok, I “used” it for about a month, ~20 years ago, but I never got the hang of it), but I use acme (from Plan 9). While acme couldn’t be further from emacs in terms of UI, UX, and philosophy, they are both equally far from “regular” editors like vscode and whatever. Once you have used an environment like this, all the “regular” editors seem equally crippled to you, equally not interesting, and equally missing the point of what’s important. Their differences become trivial.

                1. 6

                  I really like acme, too. By the time I got a chance to really play with Plan 9 I already knew Emacs and I was too far gone to the other side but I do wish Emacs played better with the outside world, the way acme does. For a while I actually tried to hack an acme-mode for Emacs that would allow Emacs to interact with the outside world the way acme does but it didn’t get too far. This was like ten years ago though, maybe things are better now.

                  IMHO, while the differences in UI are tremendous, the difference in philosophy, for lack of a better term, is not as deep. Acme is obviously more “outward”-oriented, in line with its Unix heritage, whereas Emacs is far more “inward”-oriented, partly because it comes from a different world, partly because it sought to re-create much of that different world under a different environment. But Emacs’ “internal” environment, while operating in terms of different abstractions than those of Unix (files, processes, pipes) into which Acme so seamlessly plugs, is remarkably similar to Acme’s.

                  For example, one of the things I like the most, and which I find myself using quite frequently, is an 8-line function that replaces an S-exp with its value. This allows me to write something like One hour from now it'll be (format-time-string "%H:%M" (seconds-to-time (time-add (current-time) 3600))) in a buffer, hit F12 at the end of the line, and get all the parentheses replaced with what they evaluate to, yielding One hour from now it'll be 01:10 in my buffer. This is basically Acme’s command execution, except it’s in terms of Emacs Lisp functions, not processes + some conventional commands like Cut, Snarf etc.. It’s… either more, or less powerful, depending on how much Emacs Lisp that does what you need you have around.

                  (I know it’s a silly example, it’s just the easiest concrete one I could come up with on the spot. Over time I used it for all sorts of things – e.g. when testing a bytecode VM, I could write something like test_payload = (bytecode-assemble "mov r8, r12"), hit F12, and get test_payload = [0xDE, 0xAD, 0xBE, 0xEF] or whatever)

                  But ultimately it still boils down to a text editor plus an environment from which to assemble a “text processing workbench”, except with different parts – Emacs has its own, Acme allows you to borrow them from the Unix environment. IMHO the latter approach is better. Lots of things, like real code completion and compiler integration support only landed in Emacs once it got reasonable support for borrowing tools from the outside.

                  As for VS Code… ironically, the thing that keeps me away from it the most is that honestly it’s just not a very good text editor :-D. Not only could I live without Emacs Lisp, I’d be extremely happy without Emacs Lisp, the language that embodies the simplicity of Common Lisp, the stunning feature set of Scheme, and the notorious openness and flexibility of RMS in one unholy Lispgoblin whose only redeeming feature is that at least it’s not Vimscript. Most of the Emacs Lisp code I write is one-off code that gets thrown away within minutes and I could do without it, I don’t really use much of Emacs’ renowned flexibility (in fact, last time I tried to, I yelled at rustic for like half a day). But in order to get things that I now think are basic, like easy back-and-forth navigation between arbitrary positions in different files, a kill ring, a save register, easily splitting/unsplitting views, oh and if possible a user interface that doesn’t light up and blink like a Christmas tree, I need to install a few dozen extensions, and that doesn’t look like an editor that’ll hold up for fifteen years…

                  1. 1

                    Did you mean to say “the simplicity of Scheme and the stunning feature set of Common Lisp” instead?

                    1. 4

                      No, that was sarcasm :-D. Emacs Lisp has a bunch of interesting pitfalls (e.g. for the longest time it only had dynamic scoping) and is not a very straightforward Lisp, much like Common Lisp. However, it’s feature set is fairly limited, much like Scheme (albeit IMHO in poorer taste, I’d rather write Scheme most of the time). Hence the “simplicity” of Common Lisp and the “stunning feature set” of Scheme :-).

                      1. 1

                        😂 Alright!!

                    2. 1

                      The inward/outward comparison is apt.

                      I ended up in acme after 15+ years of emacs, partly out of curiosity after watching an rsc screencast and partly because I needed a break from my yearly cycle: juggle elisp packages to add features, tinker, tinker too much, declare configuration bankruptcy and repeat again.

                      I’m old enough that being able to quickly reuse existing tools is more valuable than the satisfaction of reimplementing them or integrating them into an editor. I do use other editors occasionally, and they are shiny and feel cool and certainly better at some tasks. But I end up back in the pale yellow expanse of tag bars and columns, because there’s another tool I need to interact with and I know I can get it done with files and pipes.

                      I sometimes think about how much time and effort goes in to editors and tooling integration, and wonder how we got to such a point.

                      1. 1

                        The “outward” vs. “inward” distinction WRT Bell Labs/Unix/C and PARC/Lisp/Smalltalk is a fascinating one. Reminds me of Rob Pike’s experience report after visiting PARC: https://commandcenter.blogspot.com/2019/01/notes-from-1984-trip-to-xerox-parc.html.

                    3. 4

                      This mirrors my own experiences with VS Code. It’s great, but it simple doesn’t have Emacs’ flexibility. The things that VS Code have envisioned people doing are great and easy to do, but if you try to do things besides that, you’re out of luck. VS Code does do a lot of things really well, but I keep coming back to Emacs (these days, Spacemacs) at the end of the day.

                      1. 1

                        That’s five lines of Emacs Lisp, bind them to a key (I can do all of that in the scratch buffer) and there we go.

                        I found this line particularly intriguing as a vim user. Given that I also have some interest in learning common Lisp, I may just have to give emacs a try.

                        1. 1

                          Is this not something you can do with vim? I’m not poking fun at it, I’m asking because it seems like a pretty small thing to change editors over. It may be far more useful to do this from the environment you already know.

                          I mean, I didn’t have some grand realization that Emacs is the best editor and thus attained eternal understanding of the Tao of text editors, it’s just that when I installed my first Linux distro, I installed it from one of those CDs that computer magazines came with and the CD was scratched or had sat too much in the sun or whatever, so it had a few corrupted packages that wouldn’t install. vim was one of them, emacs wasn’t, so I learned emacs (and for the longest time I didn’t really use it much – I still mostly used Windows for a couple of years, where I used UltraEdit). In 15+ years of seriously using Emacs, I don’t think I’ve ever used a feature my vim-using buddies frenemies couldn’t replicate, or vice-versa. Other than sane, non-modal editing, of course :-P.

                          1. 2

                            The reason I use vim is very similar to the reason you use emacs: it’s the first one we learned. In your case because your CD was damaged, in my case because my friend was using vim. There’s no harm in giving the other an honest try. I just don’t know when I’ll have the time.

                            1. 1

                              Oh. Well in that case, have fun with emacs! The tentacle fingers are gonna come in super handy once you grow them.

                              (They did tell you about the tentacle fingers right?)

                            2. 1

                              I installed it from one of those CDs that computer magazines came with and the CD was scratched or had sat too much in the sun or whatever, so it had a few corrupted packages that wouldn’t install. vim was one of them, emacs wasn’t

                              I love this.

                              It’s very similar to my Emacs origin story. I was a dvorak typist (still am!) when I was in university and I knew I had to pick between vim and emacs. I looked at vim and it was like “just use hjkl; they are right there on the home row so it’s easy to press” and I was like “no they’re not!” and realized by process of elimination I might as well use emacs instead.

                        1. 3

                          Ada seems like an interesting language, but I wish this article was written better. A number of concepts, like attributes, are used without being explained, and there are number of confusing typos.

                          All that aside, I’m curious as to what would be the benefits of using Ada over something like OCaml which also has a good type system, modularity and these days a decent ecosystem with modern tooling.

                          1. 3

                            I wish this article was written better

                            I have my own writeup about Ada if you’re interested.

                            number of confusing typos

                            with ada.Text_IO; use Ada.Text_IO;
                            

                            Completely legal, but still a typo. Ada isn’t case sensitive, but normally you’d see Ada.Text_IO. I thought case insensitivity would be a huge deal breaker, but I never had issues with it in practice.

                            -- while loop
                               while myCount < 3 loop
                            

                            -- is a comment, not sure why they thought they needed a comment here.

                            like attributes, are used without being explained

                            It’s a built-in function or property associated with a type: 'Alignment for byte alignment, 'Length for array length, 'Succ for the next successive enum, 'Image for toString() like behavior, etc. Some can be overridden. It looks like the code formatter doesn’t support for notation, so it erroneously highlights the following code in the article.

                            using Ada over something like OCaml

                            Ada cross-platform support with Free Software Foundation’s GNAT (in gcc) is good. I have multiple programs which run on Windows and Linux, which include things like iterating over files/directories and concurrency (built into Ada) without changes.

                            Ada supports package generics which are like OCaml’s signatures. I had to use the OCaml documentation to clarify what a signature was when I was learning it at the time. Being able to define ranges and your own type invariants is super helpful for modeling a problem, and built-in pre/post conditions help catch a few edge cases I missed.

                            decent ecosystem with modern tooling

                            It’s much better than I ever expected Ada to have. Alire is sort of like cargo except it also installs toolchains for you as well. There’s a language server and a Visual Studio Code integration which uses it. The tooling folks have been super responsive, I’ve gotten bugs and feature requests fixed in a day or so before.

                            1. 2

                              Thank you! This was very useful. I will check out your article.

                              1. 1

                                That similarity isn’t accidental: both module systems are descendants of Wirth’s Modula-2 module system.

                                I prefer OCaml for most use cases myself, but I don’t think there’s anything better than Ada right now for embedded applications, especially if they are safety-critical. Range types, type-safe approach to pointers, etc.—it’s high-level and expressive but also close to the machine, and suitable for hard realtime.

                            1. 13

                              I’ll take the unpopular side and say that I appreciate good typography on a website, and am happy to pay the bandwidth costs to get something that is a pleasure to read. The only thing I don’t like is getting a bunch of trackers as well, so I prefer if sites serve their own fonts directly, though I understand that is a bit of an ask for non-tech-savvy folk.

                              I liked how the author redesigned the various types of quotes and pull-outs to be more uniform. However, I think they’re a bit too minimal. If I were to do it, I’d doing something more to tell the different types apart instead of only the different icons at the top.

                              1. 2

                                If you have a preferred font, you can change your browser’s default serif/sans-serif/monospace fonts to make every site’s default fonts respect your typographic preferences and save your bandwidth (along with the bandwidth of all the viewers of your website). I find this to be a much better practice than forcing my typographic preferences upon everyone.

                                I wrote about this in more detail on my own site: An opinionated list of best practices for textual websites.

                              1. 5

                                I can appreciate wanting to live a certain kind of lifestyle according to certain principles. But the author seems to want you to think that their way is better to the “Apple way” and I don’t think that’s true. It might be better for them, but some of the things seem very inconvenient and cumbersome to me. In particular, the points about being more productive with his tools have very little to do with productivity.

                                I also don’t understand his point about technology made by “product managers” rather than by “technology people”. So what? There’s no guarantee that being made my by “technology people” will reflect the way I think about and want my technology to work. Sure, the latter might give me as the end-user some options for more control, but IME most of the time that’s not very relevant. And where it matters for me (my programming and writing environment, my music collection) it doesn’t matter if it’s on macOS or some Linux distro.

                                1. 1

                                  I think this basically sums up what I was going to reply to this comment WRT “product owners”, though some other thoughts I have need to be formed firsts.

                                1. 9

                                  With the disclaimer that I am neither an experienced Go programmer, nor have I worked on large teams, I don’t understand what any of this has to do with being bad for smart programmers. In fact, I would say that many of the deficiencies that the article lists are in fact pitfalls for juniors programmers. Much of it comes down to having a substandard type system, so the compiler and associated tooling can’t give you useful guarantees or feedback. An experienced programmer may be able to keep the code’s requirements in their heads, but most junior programmers should have the compiler check their work, and Go’s design makes it impossible to do this.

                                  1. 12

                                    I thought Go was well known for having extremely good static analysis tools. The type system isn’t that powerful, but static analysis isn’t just type systems.

                                    1. 1

                                      That’s possible. I’m not in tune with the Go ecosystem enough to know if that’s the case, but this is the first I’m hearing of it. I’d be curious to know what these analyses are and what guarantees they provide.

                                      1. 5

                                        The golangci-lint list of linters is probably a good view of what people are using generally.

                                      2. 1

                                        The analysis package makes it pretty easy to write them too, with the biggest downside being that for some reason I always struggle spelling analysis correctly 😅

                                        A simple example to check for copyright comments, and a slightly more complicated example to check if you’re actually calling functions that return a function in defer (defer Fun()()).

                                        Both go vet and staticcheck are implemented with this.

                                        1. 1

                                          I wrote one at a previous job to make sure that event constants were matched up with functions of the correct type. Most helpful because that was a common thing people fat-fingered.

                                    1. 6

                                      Okay, that’s a few less keystrokes, but a harder mental load. I’d rather press F3 to go to the next result (or even, re-hit ctrl+f and enter) than remember if I’m in the “search” mode and hit some random button that has a different meaning in a different context.

                                      When programming, you already have to juggle so many different things in your mind - why complicate it further? I feel like all those vim/emacs articles are just written to justify the time spent learning all those keystrokes and quirks, and all the time setting up the plugins.

                                      1. 10

                                        I get that concern, but the truth is that after a couple weeks of using vim all the commands and things you use daily become second nature. I’ve had times where I couldn’t tell someone how to do something in vim without having my fingers on the keys so I see what my movements were. It’s pretty amazing how many shortcuts you can keep in your head.

                                        1. 2

                                          I’m able to mostly do that by playing the air-qwerty- keyboard. Definitely keeping most of my vim knowledge in my muscles, leaving my brain free for how I want the text to change.

                                        2. 6

                                          You’re actually looking at it the wrong way around. F3 is the random key here. Nobody would ever figure out that key without help. On the other hand, in VI most keys are part of a logical pattern, even though some of those are historical. For example: n is the key you’d press to get to the next search result.

                                          So while most shortcuts in modern day GUI have to be memorized without much context to help*, Vim commands are a language built out of related patterns.

                                          *) That’s of course not the full story. All those shortcuts have a history as well and some are an abbreviation for the action as in ctrl+f(ind) or ctrl+c(opy). But there’s no “copy a word and paste it to the next line” or anything similar one could express with those.

                                          1. 5

                                            People figure out the F3 key by seeing it in the IDE’s menus - which vim doesn’t have. With vim, you have to put in the effort and actively learn the shortcuts. But even then, I said you can just hit Ctrl+F and enter again to get the same behavior, which is obvious because most software has the same shortcuts, and work the same way.

                                            But there’s no “copy a word and paste it to the next line” or anything similar one could express with those.

                                            Ctrl+Shift+Right to select the word, then Ctrl+C, Down arrow, Ctrl+V, am I missing something?

                                            1. 2

                                              Yes, if you use GVim you get those little helpers in menus as well. That’s a different interface. But the topic should be about concepts. VIM commands are a concept, a language, rather than a list of unrelated commands.

                                              Of course you can do everything that you can do in VIM in any other editor as well. I’m referring to concepts and I might not be very good in conveying that. Sorry.

                                              1. 1

                                                In the end you can express pretty much anything in any editor with enough keystrokes: the arrow keys exist, after all.

                                                Modal editing tends to be a lot more efficient than non-modal though, and the keystrokes don’t require you to move your hands much e.g. to the arrow keys (way off the home row) or to use modifiers like Ctrl that require stretching your hands. Modal editors allow you to use the keys that are the easiest to reach: the letter keys, since the modal editor knows whether you’re intending to write vs intending to issue commands. These days I mostly use VSCode, rather than Vim, but I always have Vim emulation turned on because it’s much faster than non-modal editing once you’re familiar with it. Vim is particularly nice because it has a mini language for expressing edits; for example, w means “word,” and can be combined with deletion to delete a word (dw), selection to select a word (vw), “yank” to copy a word (yw), etc — or it can be used alone without a prefacing action, in which case it simply jumps to the next word after the cursor position. And there are many other “motion” nouns like w, and those can also be combined with the action verbs in the same manner — to copy letters, paragraphs, etc, or even more complex ideas such as letter search terms. Command sequences are first-class and your last command can be replayed with a single keystroke, and there’s even a built-in macro definition verb q, which stores up indexable lists of command sequences you issue and can replay the entire lists for executing complex but tedious refactors.

                                                Sure — the bottleneck in programming is typically not between your hands and the keyboard; it’s typically thought. But once you know what you want to express, it’s a very pleasant experience to be able to do it with such efficiency of motion. And since we do ultimately spend quite a while typing, it’s not irrational to spend some time learning a new system to have that time feel nicer.

                                                1. 2

                                                  Modal editing tends to be a lot more efficient than non-modal though, and the keystrokes don’t require you to move your hands much

                                                  Real gain is in reduced load on one’s muscles and tendons. Moving to vim bindings has helped me overcome pain in my wrists.

                                                  1. 2

                                                    I don’t see it as much for programming, but for writing prose a modal editor is great for forcing me to separate writing from editing. When I write an article / book chapter in vim, I try to write the first draft and then go back end edit. At worst, I try to write entire paragraphs or sections and then edit. I find this produces much better output than if I use an editor that makes it easy to edit while I’m writing.

                                            2. 5

                                              This is something that the article comes close to saying, but doesn’t actually say: Vim doesn’t just provide a bunch of shortcuts and keybindings for arbitrary operations, instead it provides a fairly well thought out programming language for dealing with text, that happens to also be bound to convenient keys. Crucially, operations in this language can be composed such as in the examples that the article gives, so you can build up your own vocabulary of operations even if the developers didn’t account for them. Does this take longer to learn than looking up the? Yes, probably. But I suspect that for most vim fans, there comes a “aha moment” where the power of this approach becomes apparent, and once you get used to it, you can’t live with it.

                                              1. 2

                                                I’m not sure “n” for next is “some random key”? And “N” (shift-n[ext]) for previous.

                                                And slash/question mark for search might be a bit arbitrary, but slash sorta-kinda “means” pattern/regex (as in /^something/).

                                                Ed: ok, I’m not sure why op is exited about “find” - I generally “search”.. . Or move by word (w) beginning/end of line (| and $). See also: https://stackoverflow.com/questions/12495442/what-do-the-f-and-t-commands-do-in-vim#12495564

                                                1. 1

                                                  Move by word - hold ctrl, works in any textarea in any operating system.

                                                  Move to beginning/end of line - press “home” or “end” keys, works in any textarea in any operating system.

                                                  n is “some random key” on every other software with a text box on your computer. Vim is inferior in that aspect, not superior.

                                                  1. 1

                                                    ) moves by sentence and } moves by paragraph. I miss that all the time while writing prose outside of vim.

                                                    Since they’re motions, you can combine them with delete/yank/replace/whatever. So di) deletes the whole sentence.

                                                    1. 1

                                                      Option up/down moves by paragraph.

                                                      1. 1

                                                        I’m on Windows

                                                2. 2

                                                  The mental load goes away after a while and it just becomes muscle memory. Each saving by itself is small, but they all add up over time. One I used recently was %g/^State \d/norm! f:lD: “On every line that starts with State followed by a number, delete everything after the first colon. Would have taken several minutes without that, with it it’s just a couple of seconds. When I’m constantly getting savings like that, it’s worth it.

                                                1. 16

                                                  This is all very arbitrary.

                                                  HTML 4? Why? You’re missing out on more semantic tagging that came with HTML 5.

                                                  CSS 2? Why? Is this solely so you can be compatible with IE5 or Netscape 6 like it mentions? Give me a break. You’re missing out on a ton of really helpful CSS features like variables, calculations, transitions, and media queries that improve usability.

                                                  “Frugal to no embedded images and video”? Again, why?

                                                  “Heavily restricted JavaScript [..] in forms”? What does that even mean? Who restricts it? How do you define what is “too much”?

                                                  “No SSL or TLS encryption” – This is mind-boggling. What is the argument against https?

                                                  You’re free to use all of these things if you want, but I lived in a time of these things (and before them) and I do NOT miss that type of web.

                                                  1. 7

                                                    It’s basically the web for retrocomputing enthusiasts who don’t care for Gopher and want the web, Netscape 4 and all.

                                                    1. 6

                                                      So glad this gets rid of that silly semantic web cruft from HTML5. Who needs it when you’ve got P, B and I tags? Don’t forget to reimplement all the weird bugs in IE 6, for the most realistic Ye Olde Web experience. Oh, and the BLINK tag is vital! 🙄

                                                      1. 5

                                                        These were my thoughts too. Similar to Gemini, this has a very “throw out the baby with the bathwater” feel to it. I would love to see someone do an actual principled redesign of technologies for a document-centric that doesn’t give up everything we’ve gained in terms of accessibility and general convenience over the last couple of decades.

                                                        1. 4

                                                          You’ll have to contend with the contingent that don’t want TLS—half won’t want it at all, and the other half want to use some bespoke new encryption system that isn’t widely implemented yet. Those that do want to use TLS, half will want to use self-signed certificates, but then attempt to bring in some halfhearted attempt at a “certificate authority” (or some other way to verify certificates). There’s a sizable group that want total privacy (DON’T LOG ANY IPs! IT’S ILLEGAL AND AGAINST THE GDPR! WE WANNA BE ANONYMOUS!) and thus, no way of tracking anything, server or client (to the point of having every error message be standardized completely). And there will be another sizable group that will rebel against any form of extensibility, because that can lead to complexity (or tracking—see previous group).

                                                          Good luck. We’re all depending on you.

                                                        2. 1

                                                          Mostly because old computers, and by old I mean vintage, have a really hard time rendering the modern web or doing the modern cryptographic dances.

                                                        1. 4

                                                          I wonder if RSS could get/would’ve gotten more traction if instead of calling it RSS we just called them “subscriptions”.

                                                          1. 3

                                                            Google did a too good job with GoogleReader, getting everybody to use it. Then they killed GoogleReader, because, hey, you don’t get promoted maintaining code, and that practically killed RSS.

                                                            1. 5

                                                              Google Reader killed the RSS reader market, not RSS itself.

                                                              When it was discontinued, people were already moving off RSS. I distinctly remember someone saying RSS wasn’t needed, they got all their info via Twitter…

                                                          1. 5

                                                            It makes sense that Rust has better libraries and IDE support, it has more funding and a larger community.

                                                            in OCaml you have opam, esy, dune, and OCaml itself all doing part of the job. They sorta kinda mostly work well together, until they don’t. And as you wire them together, you really need to understand what each tool does, where it starts and stops, and how they integrate.

                                                            I think this is only true if you’re trying to use Reason, now ReScript?. If you stay firmly within OCaml-land you only need to know two tools: Opam and Dune. Opam is a package manager and Dune is a build system. It’s nice that Cargo can combine these — and Cargo is excellent — but so is Dune. Dune has been introduced widely in the last two years and IMHO has totally transformed the OCaml build story. It’s true that Reason has introduced a lot of segmentation, but if you stay away from npm things are generally good.

                                                            Re macros: I totally agree that PPX’s fall short sometimes and a hygenic macro system for OCaml would be awesome. That said, the blog post supposedly showing trouble in the PPX ecosystem is from four years ago and I believe the proposed solution has been adopted. Overall the PPX infrastructure has improved a ton in the last four years.

                                                            I’ll also say OCaml has a great module system with “functors” (function-like things that take modules as arguments and produce new modules) that subsumes much of the use-case for macros.

                                                            Re aesthetics:

                                                            OCaml is so ugly that the community came up with a whole other syntax for it

                                                            Well, the JavaScript community came up with a JavaScript syntax for it. Of course beauty is in the eye of the beholder, but I happen to prefer the OCaml syntax.

                                                            1. 8

                                                              That’s one point I disagree with. Merlin (in OCaml) is just amazing, and much better than rust-analyzer. It’s fast, it’s very, very robust to bad syntax, and I only have good things to say about it. RA is not too bad but it’s not as mature yet.

                                                              The ppx story keeps unfolding with, imho, still no viable solution in sight (soon there’ll be a ppxlib 2.0 or something, that doesn’t improve ppx stability, and we still don’t have a stable AST to write these parsers again.) I would love macros and deriving in OCaml, but I don’t see any way of getting them in a stable, future-proof way.

                                                              1. 3

                                                                I would love macros and deriving in OCaml, but I don’t see any way of getting them in a stable, future-proof way.

                                                                Both Haskell and Rust wisely have deriving so OCamls stubborn insistence to defer it to a combination of ppx_deriving/type_conv and support from the build system is just death by a thousand cuts.

                                                                1. 2

                                                                  I couldn’t agree more. Sadly it’s difficult to contribute this kind of functionality and get it accepted.

                                                              2. 4

                                                                This is exactly what I was thinking about reading his criticisms of OCaml. Sure, the language has some warts (I think mostly due to adding features over the years) but I find the core syntax very nice. Reason to me is incredibly ugly. Along similar lines, OCaml + Merlin + Emacs is one of the best toolchains for writing code that I’ve ever used.

                                                                The authors comments about bad error messages are valid, they could definitely use some work. But I think a lot of the complaints about dealing with the typechecker is something you get comfortable over time, or if you sit down and read up on the type inference/checking algorithm.

                                                                1. 1

                                                                  I think this is only true if you’re trying to use Reason, now ReScript?

                                                                  No, you can also use Esy as a replacement for opam on pure OCaml projects, without having to use Reason. ReScript (formerly BuckleScript) is a separate toolchain that leverages npm and a different build tool (ninja).

                                                                  To the wider point, though: I was going to take issue with the way Paul mentioned confusion with so many build tools, but I’m forced to admit that’s partly on the OCaml community. If the community-recommended tools don’t solve real developer needs like cross-project dependency sandboxing and build caching, then eventually alternative tools (like Esy and Nix) will enter the picture and compete for market share.

                                                                1. 4

                                                                  For me, Tufte’s format is a good guide and starting point, but there are a few things I don’t like about it.

                                                                  • I find the use of italics for headings somewhat distracting and jarring. I much prefer a matching sans serif font for headings.
                                                                  • I definitely like the side notes and agree that they should be close to the text they’re relevant for. I absolutely hates footnotes that take me to the bottom of the screen. But I wish there was a better markup for them. Personally I prefer to use the <aside> tag for the text.
                                                                  • I think link color should depend on the color scheme of the rest of the site. It’s possible to have colored links without them being distracting. I also think they should be changed on being visited.
                                                                  1. 3

                                                                    I don’t agree with this article, but like the author, I don’t find Hey to be a meaningful or interesting improvement for me. My use of email isn’t the same as the author’s. My emails aren’t short, ephemeral messages, I use Slack or other messengers for that. I also don’t find to Spam to be a problem anymore. I use Gmail and I almost never seen a spam message in my Inbox, or see a non-spam message marked as Spam.

                                                                    The problem with privacy is two-fold, I think. First, Gmail: even if a lot of people move away from Gmail, Google still has everyone’s email because of all the remaining people who use Gmail. Secondly, even if email is insecure, but in lots of cases you still have to use it for sensitive things because people on the other end have no other method for communication. But this is true of communication systems in general. A large part of India’s commerce, including transfer of sensitive information happens over WhatsApp. Is this good? No, but changing it is more than any single email provider can do.

                                                                    On the other hand, I don’t think Hey is a meaningful improvement for me. As the author notes, the UI is too different and jarring, and doesn’t expose the right things in the right places. Having an “Imbox” seems silly. Having privileged “Paper Trails” and “Feed” also seems unnecessary. Why aren’t these just labels that maybe have dedicated buttons? Requiring approval of new senders is… fine, I guess? But getting lots of email from people who haven’t emailed me before isn’t a use case that’s relevant to me. What percentage of email users is it actually relevant for me? It seems like Hey is targeted for people who have that specific problem.

                                                                    For me, like it or not, Gmail is actually a good tool. It has good labels and deterministic filters, good keyboard shortcuts and a decent UI. It should do a better job of making filters more accessible, and instead of having privileged “categories” it should be possible to turn any label into a separate inbox-like view. Combined with a native app like http://airmailapp.com on macOS, it’s a good local optimum.

                                                                    1. 1

                                                                      I’m sad that the System76 laptops are also bad. Isn’t their whole purpose to provide good quality Linux machines?

                                                                      1. 6

                                                                        I don’t know about bad per se. He only states they’re bulky and overpriced. I would love to read a comparing review between, say, the latest System 76, Purism and XPS laptops.

                                                                        1. 1

                                                                          I bought a Librem 15 v2, I believe (maybe a v3? can’t remember) and switched to a System76 Oryx Pro (oryp4) machine. I’ve talked about why in a number of places, e.g. the Purism forums and on Lobsters, but the summary is that Purism did a really bad job of supporting their existing customers (i.e. me). I also found that the Oryx Pro just felt like it had much, much higher build quality. It was apparent within seconds of pulling the machine out of the box.

                                                                          For my Librem, for example, I used to carry around a set of screwdrivers because if the bottom of the case was screwed on too tightly, parts of the keyboard would be really stiff to the point where it was borderline impossible to type a key. So I’d be adjusting the screw pressure all the time. I’m not sure how to explain it but generally holding the Librem in your hand it felt like the whole thing was just kinda slapped together in a not-so-solid way. Never had that problem with my Oryx Pro. It feels solidly put together and I can screw all the screws in tightly. Maybe they’ve fixed this in newer revisions; I don’t know.

                                                                          The battery life on my Oryx Pro is somewhat disappointing, although the newer revision is supposed to be better. I could try to compare if you really want, but a) it’s late and I’m tired and b) it would be extremely difficult to make a fair comparison since I run Qubes OS on my Oryx Pro, and Qubes is WAY more power-hungry than Debian, which I ran on my Librem. The thermals aren’t great on the Oryx Pro, but it might be that I’m noticing that more because of Qubes. I vaguely recall seeing (very) roughly the same fan time on on the Librem as I do when booting my Pop_OS! partition. But it was a while ago, so who knows.

                                                                          YMMV, of course, depending on which System76 laptop you get. The Oryx Pro is on the higher end; when I bought it I was basically looking for the most powerful laptop I could find. I didn’t buy the even beefier models primarily because carrying the weight around would have been miserable. With the benefit of hindsight I think I couldn’t gotten away with a little less power, and I should’ve considered the battery more, so if I was to buy again I’d probably consider e.g. the Darter Pro as a stronger contender. (System76 has refreshed a few of their models since I last made a serious comparison, though.)

                                                                          1. 1

                                                                            Thanks for taking the time to make the comparison! It’s unfortunate there are no shops carrying these devices, so you can’t at least do a quick comparison of the build quality.

                                                                      1. 23

                                                                        I really can’t agree with this more. At work I was just upgraded to a top of the line 16” MacBook Pro and I hate it. It’s so bad that I’ve been looking for something to buy myself to replace it and I can’t find anything good. The XPS 13 is probably good enough, but I’d really like something better than that.

                                                                        I’m probably even less demanding than Drew, I’m willing to deal with non-free device firmware blobs. But I need a high DPI screen, so I don’t even have the option of going with something old.

                                                                        1. 7

                                                                          The new ThinkPads aren’t so bad; I have an x270 and it works well for me. It’s been working with Linux pretty much out of the box ever since I got it 2 years ago.

                                                                          I don’t like how the XPS integrates the click buttons on the touchpad (a lot of laptops do that), but other than that it’s pretty okay for the most part.

                                                                          1. 3

                                                                            Can you only get a 1366 x 768 display on the x270? I don’t think I could deal with that.

                                                                            The XPS is probably where I’ll end up. The just announced a new model with a 16:10 display. I’m going to wait to see what the linux compatibility with that is/see if that display comes to the Developer Edition models. And I actually prefer the click being integrated in the touch pad, so that’s not a worry of mine.

                                                                            1. 4

                                                                              I had work buy me an X260 without thinking about it, and they got me a 1366x768 one. It never even occurred to me that such a thing would be possible to buy, so I didn’t think to specify.

                                                                              But even if they had gotten me a higher-resolution one, the display is still 16:9; too small to be usable without an external display. It’s also very dim; completely useless outside. The only good thing about it is that it’s not glossy. I’m much happier on my X301, so most of the time I just SSH in from that machine.

                                                                              1. 3

                                                                                Nah, I have a 1920x1080. For a 12.1” screen that’s more than plenty. Pretty sure I could also configure a higher resolution one. I’m not even sure they’re even selling the x270 any more, since there’s the x280 and x390 now. I’d probably get the x390 if I had to buy a laptop now.

                                                                                “ThinkPad [model]” doesn’t necessarily say all that much, since they come in a gazillion build configurations. A lot of them are mass-produced for enterprises that buy 500 of them for their office workers and the like, and come with shitty screens like the one you saw. But you can get better for sure.

                                                                                The ThinkPad has both integrated click and buttons on top; it’s a great design IMHO (but in the end of course a matter of personal taste/preference).

                                                                                1. 2

                                                                                  Good to know, I only found one build of the x270 on their website, and I can’t even find that again now, which had that screen & AFAICT, couldn’t be customized. Probably just need to do through their website more.

                                                                                  The ThinkPad has both integrated click and buttons on top; it’s a great design IMHO (but in the end of course a matter of personal taste/preference).

                                                                                  Ah, yeah, that definitely is best. I miss that from my old x220. I wish I would have never gotten rid of that.

                                                                              2. 2

                                                                                I’m still holding out on buying anything as long as my X300 keeps running, but I just a look at the x270 and seriously … how can they build a notebook with a touchpad that has the buttons on the wrong side?

                                                                                1. 3

                                                                                  I think they’re more intended for the TrackPoint than the touchpad, so it makes sense from that perspective. My old T61 had buttons on the top and bottom. I find it works quite well for both though. Also: it has a middle click button! A rarity on laptops and a small feature that actually matters a lot to me.

                                                                                  1. 1

                                                                                    I think you’re using the touchpad wrong. x270 is design with the nipple pointer in mind and that’s why the buttons are on the top. Also I’ll just put it out there: buttons on the top of the trackpad should be standard to begin with ­— it’s much more ergonomic. You need to move your finger less and your wrist of the hand that is touching the buttons can rest on the laptop rather than outside surfice.

                                                                                    1. 1

                                                                                      Buttons at the top make it a pain to use gestures – if the laptop can’t be used without a mouse, why even bother with a touchpad?

                                                                                      Maybe Lenovo should just sell me the device 2€ cheaper and put a real mouse in the package instead. (Same with keyboards these days. Those super-thin devices don’t look that practical anymore if I have to carry an additional, usable keyboard.)

                                                                                  2. 2

                                                                                    They aren’t so bad, but they’re clearly worse work tools.

                                                                                    I ~recently switched from a T430 to a A485 (that’s a T480 but with AMD in it).

                                                                                    No latch on the cover, meaning that after 5 years it will be opening itself in the backpack every day.

                                                                                    No ultrabay, or however it was called, meaning I need to carry around either a sata-to-usb converter or an external dvd depending on what I need. Sure it’s slimmer now: but also less useful. That’s not what I wanted a thinkpad for.

                                                                                    Two batteries instead of one. Battery life is as good/bad as it was on the T430, but now when the battery wears out I’ll need to replace two instead of one – and one of them is deep enough to require a full-on disassembly.

                                                                                    The physical cover for a webcam is nice, but everything else is a straight downgrade. If anyone else made laptops with decent trackpoints I’m sure I’d never look at Lenovo again :/

                                                                                    1. 3

                                                                                      I’m using T430 privately, yet I’m thinking more and more about buying something new. T430 lacks power, 1080p x265 is too much for it. Putting SSD in it gave it second breathe at the time, but that’s about it. Working with ThinkPads spoiled me, I need trackpoint, touchpad is no go (I mean I use it only for scrolling, but can easily live w/o it at all), which limits me mostly to ThinkPads (there are few other non-Lenovo series that happen to have trackpoint equivalents, but there aren’t many of them).

                                                                                      I’m not necessarily fond of what is presently offered in ThinkPad lineups. I would even overpay for some Extreme if it was 14” and having normal RJ45 ethernet port (instead of Lenovo’s proprietary mini-RJ45-crap forcing you to buy and use some adapter if you’re wire networks user). 15” is too much, I want to have some mobility. And honestly, I use wire networks rarely, but lack of normal RJ45 port irritates me immensely, possibly more than it should. Ultrabays are cool too, I have one right now with additional SSD there. But if I need, I can replace it and put DVD drive in it, or something else. It takes literally seconds. Lack of it in newer models also bothers me (but not as much as lack of RJ45). And having USB-C for charging maybe is nice and dandy, but for firmness and durability I think slim tip connector, like used in T470 (my work laptop), is what I prefer the most.

                                                                                      They make laptops slimmer, but modularity and usability, are reduced because of that.

                                                                                  3. 3

                                                                                    What do you hate about the 16” MacBook Pro? I feel like I’ve been hearing generally positive things about it.

                                                                                    1. 5

                                                                                      It’s just super unreliable. Half the time when I connect it to my Thunderbolt 3 dock (which I bought from an apple store) it just sits there and flashes until it reboots. It also fairly often will end up rebooting while its suspended. Bluetooth devices slowly get juddery over time and half the time it won’t auto reconnect to them.

                                                                                      I have more problems on top of that don’t help my impression of the system overall, those just come from Parallels being awful at what it does, but I need Linux to do my job.

                                                                                      Edit: I should also mention, my last work-issued laptop was a 2015 Macbook, which as I understand it was the last “good” one before they started mucking things up. So, my expectations weren’t pre-set to be super low. Maybe that is why I’m relativity more disappointed with it than others that had used other newer models.

                                                                                      1. 2

                                                                                        I have more problems […] those just come from Parallels being awful at what it does […]

                                                                                        I’m confused. Are most of your applications designed for macOS, Windows, Linux, or general Unix?

                                                                                      2. 3

                                                                                        I’m curious about the answer as well. I’ve been using a 16” for a few months now, and really like it. I’ll be disappointed(but not surprised) if the complaint is actually about the fact that it ships with Catalina.

                                                                                      3. 2

                                                                                        I have a hidpi x1 carbon v6 and it’s not bad. the v4 had better ergonomics though, and the fact that they backslid on that makes me sad. (specifically, the margins on the side of the keyboard are too small on the v6)

                                                                                        1. 1

                                                                                          … I need a high DPI screen…

                                                                                          As do I…

                                                                                          … so I don’t even have the option of going with something old.

                                                                                          …which is why I’m still using 15 year old T42p’s with 1600x1200 screens…

                                                                                        1. 5

                                                                                          But will it support HTML email?

                                                                                          1. 4

                                                                                            I really hope not. Standard though it may be, HTML email is a cancer that needs to die out. I always recommend new users on my platform to read useplaintext.email.

                                                                                            1. 12

                                                                                              It does support HTML e-mails. However:

                                                                                              • Sanitized HTML e-mails are displayed in sandboxed <iframe> elements where many features are disabled (e.g. JavaScript). The Content-Security-Policy set by koushin is an additional security.
                                                                                              • This can be easily disabled: just disable the viewhtml plugin
                                                                                              1. 2

                                                                                                I’m curious about this sanitization. Is there a standard algorithm or set of checks that are performed?

                                                                                                1. 1

                                                                                                  Sanitization is performed via bluemonday, a widely used Go library.

                                                                                              2. 6

                                                                                                HTML is abused, but I don’t want email where I can’t even use bold or italic, or hyperlinks like the one you put in your comment. Why should emails be less expressive than forum comments?

                                                                                                (Yes, I would totally welcome Markdown email as a standard. I’m sure it won’t happen, though.)

                                                                                                1. 6

                                                                                                  Reverting to plain text, Markdown or some other kind of ad-hoc markup because HTML can be abused makes me shudder. I want nice typography and proper design in my emails. I want reading an email to be as good an experience as reading a well-designed website. In particular, I like the current resurgence of high-quality newsletters delivered to my inbox. Instead of throwing up our hands and giving up on this, I would like to see us actually attack and try to solve this problem.

                                                                                                  1. 4

                                                                                                    It’s funny, because that’s where Markdown comes from.

                                                                                                    the single biggest source of inspiration for Markdown’s syntax is the format of plain text email

                                                                                                    https://daringfireball.net/projects/markdown/syntax

                                                                                                    1. 3

                                                                                                      A lot of good emails clients will display plaintext surrounded by underscores in italics and text surrounded by asterisks in bold. As to hyperlinks, that’s what [1]. Some clients that work particularly well with plaintext will make that [1] a clickable link so you don’t have to scroll down and search for it either.

                                                                                                      I completely agree about markdown emails. The client that implements that will be my gold standard.

                                                                                                      [1]: is for

                                                                                                      1. 5

                                                                                                        imagine if we had some well-specified plain text system for applying inline formatting to text that “good” email clients could render, and hyperlinks could go inline so you don’t have to use up more screen space and manually re-index them when you add or move them in the text.

                                                                                                        maybe we could use less than and greater than characters to enclose the inline formatting commands. it would be great!

                                                                                                1. 4

                                                                                                  This has a really good point, that the majority rule as implemented disproportionately affects small bloggers in a bad way. I mentioned in the initial description it’ll have to get patched this week and reaffirmed that; I’ll take your point into account there.

                                                                                                  And then positively: what difference can we get at between small bloggers with limited audiences and the quasi-spammers?

                                                                                                  1. 6

                                                                                                    I think bloggers (and people like me, who submit things they read from RSS when suitable) tend to engage with the site; even it’s just to update read status, but often substantive like replying to comments. Spammers tend to see the site as a dumping ground, and any engagement is very artificial looking.

                                                                                                    1. 4

                                                                                                      This feels like a very important point for making the distinction between the false positives and exploitative marketers. When I’ve nudged people in PM to do more than promote their business, I’ve said, “Lobsters is not a write-only site”.

                                                                                                      It feels like there’s probably a very useful metric here around non-self-promotional behavior like voting and posting well-scored comments on other people’s stories. I really don’t want to encourage “great article i loved the part where you wrote a program” me-too comments. Hmmmm.

                                                                                                    2. 2

                                                                                                      I think the key is to focus on the human aspects of our community. Maybe there could be some way for users to vouch for other users, or posts? I’m sure there are a lot of people here who would vouch for @soapdog and his posts as being useful and interesting and valuable to the community. And the same could probably be said for other independent bloggers who get featured here regularly. Of course, any system can be gamed, so this probably deserves more care and thought before being rolled out.

                                                                                                      1. 2

                                                                                                        As I said in my original comment on the original thread: Thanks a ton for the hard work on the site, I really appreciate it Reading this site is probably among my favourite things in my daily routine, I’m not forgetting all the sweat and effort that goes into keeping this going with such high quality content and engagement among community members.

                                                                                                        I decided to make that post because for me it was not just lobste.rs, there is a larger problem of sharing our blog posts elsewhere as well. Spam and “content marketing” became such a pervasive thing in our industry that I totally understand why you, the other ops and the rest of the community is so engaged in trying to solve it at least for this site. I wrote my post before reading some of your later comments in the thread. I don’t remember if they were already there when I wrote and I failed to see them, or, if I ended up posting before you commented further. Anyway, it is an important topic and it is leading to a very healthy conversation, so I think it is all positive and that whatever will come out of this will be the best we all can do.

                                                                                                        I wanted to agree with that comment from Calvin about somehow taking into account the other interactions on the site might lead to a better metric for separating marketeers from blogger but then, I saw your reply quoting that this might lead to a lot of “me too” comments. I totally agree with you, no one want that. It is bad enough to have spam links, spam comments would be even worse.

                                                                                                        Maybe the best measure would be reactionary instead of preventive. Maybe what is needed are better self-moderation tools so that community members can flag stuff. Given enough flags from good karma members, the post (or even the author) could face automatic spam measures such as be given a time delay, or even flagged for further investigation by a sysop. The key for this to work well would be for it not to rely on sysops for everything. Some stuff such as “given enough flags, this entry is hidden”, or “given enough flags, this author is prevented from posting for a week/month/etc”, if repeated offences from the same user happen, the user becomes read-only or banned. This way, sysop intervention should only be necessary if some arbitration is needed. Instead of algorithms and machine learning, we can have real humans triaging stuff and the consequences are automated. (it is just a thought)

                                                                                                      1. 6

                                                                                                        It is increasingly hard for small content producers…

                                                                                                        This introduction really gets right to the core of the problem. The author views themselves as a “content producer.” And “getting noticed” is the goal.

                                                                                                        I can’t speak for the community, but personally I very rarely find anyone who’s trying to get me to pay attention to their “content” interesting.

                                                                                                        I’m here looking for links to people talking about things they’ve done. Or things they’ve come to understand. Or sharing well-researched insight into something they’re passionate about. Or posting news that has been under-covered elsewhere.

                                                                                                        I’m having a hard time explaining the precise difference between things I find interesting and “content”, but I definitely know it when I see it.

                                                                                                        I absolutely want to hear more small voices, like the author of this piece suggests. I want those voices to be sharing what they’ve done or advancing some field I care about. The ones that are just seeking attention for their “content” are very seldom the interesting ones.

                                                                                                        1. 5

                                                                                                          This introduction really gets right to the core of the problem. The author views themselves as a “content producer.” And “getting noticed” is the goal.

                                                                                                          Sorry if it came out this way. As a blogger and writer, I do want to be read. Not only that but I also want to read and interact with other authors. These days I’ve noticed that I care way less about how many people are reading me than in the past because writing feels good to me and I enjoy doing that. I’ve made posts recent that don’t interest anyone, they are just slices of my life. In the recent years I tell people to treat their blogs as a platform, but I’ve realized that it is much more fun if you just treat them as a journal, or better, a journey, one that you invite the occasional reader to tour with you. In that realization, I started blogging more and having more fun being a small voice and discovering other small voices. I might have overreacted with that post but I was just afraid that with less small voices around, this place wouldn’t be as much fun as it is now. I’m more afraid of losing the chance to discover more blogs here than I am of not being read.

                                                                                                          1. 1

                                                                                                            I agree with you and like your other posts. I meant to say so in this comment and did say so in another comment :)

                                                                                                            I think those words you chose just had an unfortunate overlap with how some spammers who have been actively looking for invitations in the IRC channel have been describing themselves. (They always say they’re “content creators” or “content producers” as opposed to talking about their passion/topic/etc.)

                                                                                                          2. 4

                                                                                                            I don’t like the term “content” for independent authors and creators, but I think you can mentally replace “content producers” with “bloggers and writers” and the rest of the piece is unchanged. Sometimes the motivation for posting something is more than just “I found this interesting”. Sometimes it’s “I found this interesting and I want other people to find out about it”. And I think you and the author are getting at the same problem: we do want a differentiation between “content” and interesting posts by independent writers, but we don’t currently have good systems for doing that.

                                                                                                            All that being said, I have a little bit more faith in RSS/Atom and newsletters than he does. For me, I usually find a new blog (such as the author’s) via Lobste.rs and then follow them via Atom. That’s how I came across this article in fact. There is still an issue of how to get new readers on to your site, but maybe adding a “please share this to your favorite aggregator” could be a way to get readers to more organically share things?

                                                                                                            1. 3

                                                                                                              thanks a lot for posting the post here. I like your suggestion about inviting readers to share it around. I will experiment with that.

                                                                                                              I love RSS. I think I developed the first blog client for MacOS 8 way back when, at least I didn’t knew any other. RSS and blogging have always been my favorite thing and I am now getting back to it. I just wish that syndication was more common and that browsers still bundled feed readers.

                                                                                                              In the future, I’ll try to use a different term than “content producer”, this appears to be a loaded term that is doesn’t mean what I wanted it to mean, sorry.

                                                                                                              1. 3

                                                                                                                Definitely the situation with RSS readers is less than ideal. I was thinking the other day that I did a lot of “longform” reading in a number of different places: websites themselves, cleaned up versions saved to Instapaper for later, RSS feeds and more recently a bunch of newsletters. I use different apps for all of them, but conceptually they are all the same thing and really should be unified. Feedbin lets you read RSS feeds, email newsletter, and some Twitter streams in the same place which I think is a step in the right direction.

                                                                                                                Thanks to your post, I’m thinking of aggregators as well as part of this “how and where do I read” puzzle. I think there could be some interesting tools built by combining all of the above, but I will have to think about it more.

                                                                                                              2. 2

                                                                                                                I should have added that I was specifically disparaging the language this blogger chose for this post around “content.” I wasn’t commenting on their other work. I’ve noticed links to their posts here before, and found the ones about the surface go, FOSDEM, wxWidgets, etc. to be interesting reading.

                                                                                                                I’d have given the same dirty scowl to any singer or painter who called themselves a “content producer” also.

                                                                                                                1. 3

                                                                                                                  Hey, I’m the author. Sorry, I was attempting to not repeat the word blogger too much and felt that “content producer” could be used as a synonym that also encompassed people who are doing other stuff such as podcasting and video. Sorry if it came out as bad, it was not my intention. Most of my posts here from my blog are how I did something, or an opinion thing on something I consider important. They are personal takes and stories, not really the kind of farming or bland content that the original measures for spam mitigation were trying to stop. Also, it is original content from yours truly. I’m not a native English speaker so sometimes I lack the vocabulary to express stuff. I wish I could have a better term to differentiate between bloggers/podcasters/videocasters and “guerrilla marketing content producers”.

                                                                                                                  1. 2

                                                                                                                    I understand! I might have overstated the badness just because you happened to choose the same word some spammers have recently. I really have enjoyed your surface go posts especially, and hope you keep blogging and keep getting linked here.

                                                                                                            1. 2

                                                                                                              How does a tiling wm work for me? It’s my understanding that I have to set it up “my way”, according to each task in my daily flow. Whatif I don’t have a flow?

                                                                                                              My usual gnome flow on my desktop is just meta key to find an app and launch it, alt tabbing my way to an open one, and meta+arrow to move my current app to this or that corner. When I hook my windows laptop from work, I might also need to move my thing to another window, ctrl-meta-arrow does it. I usually open terminator where I split it up with term panes with ctrl-e or ctrl-o and then with arrows, as by default I just split it in two panes. I open IntelliJ, and there I sometimes want to fiddle with its panes with a mouse, same with Firefox or Chrome dev tools. Occasionally mail app is open, and a comms like slack or teams.

                                                                                                              Sometimes I need to adjust the width of the window manually, with the mouse, because I’m really interested in those logs, or that image. Or open an unusual app like calc or excel or whatnot.

                                                                                                              Luckily, gnome and apps remember where they’ve been last, usually.

                                                                                                              What would a tiling wm bring me? How would my flow look like? Do I have to setup config for each window?

                                                                                                              What benefits would I see? Would it bring me discipline? How much work to set up initially and how much work later on? What happens when I open a new app?

                                                                                                              I can’t find this information online. Anybody has a video or article or presentation at hand to share?

                                                                                                              1. 3

                                                                                                                How does a tiling wm work for me? It’s my understanding that I have to set it up “my way”, according to each task in my daily flow. Whatif I don’t have a flow?

                                                                                                                If you don’t have a particular flow, you can use whatever is the tiling window manager does by default. Usually new programs will open full screen. If there is already a window open, it will split the screen either vertically or horizontally. And so on. Some tiling WMs let you configure how this splitting happens.

                                                                                                                What would a tiling wm bring me? How would my flow look like? Do I have to setup config for each window?

                                                                                                                A tiling WM would probably help you spend less time moving windows around. In your case, if you need to look at lots of terminals, or have an IDE + terminal + browser open all at once, you can do that in a way that uses all the screen estate without having to manually drag and resize windows.

                                                                                                                I don’t know what your flow would look like. Personally I usually have an Emacs window and a terminal or browser open side by side on one workspace. This lets me look at my code and documentation at once easily. On another I will have my chat apps, usually Slack and FB Messenger open side by side, maybe Hangouts too. That way I can see all new messages at a glance. I find this is more useful when plugged into a larger monitor where I have more screen real estate than on my laptop.

                                                                                                                You don’t have to set up a config at the beginning. You can use it purely interactively and if you find yourself using certain layouts all the time, your WM probably gives you a way of setting up layouts and restoring them or binding them to keybindings.

                                                                                                                What benefits would I see? Would it bring me discipline? How much work to set up initially and how much work later on? What happens when I open a new app?

                                                                                                                You will spend less time manually moving windows around and once you find layouts you like, you can save and restore them. I don’t know if it would bring you discipline (I don’t know what you mean by that). You should be able to get set up running without doing any configuration.

                                                                                                                A few days ago there was a post here about Regolith which is an Ubuntu spin with a beginner friendly tiling setup that you can use to see if you like tiling. If you use macOS I recommend Moom.

                                                                                                                1. 1

                                                                                                                  Thanks. I might try it sometime, but I’m not convinced. I don’t hear a “killer app” for me.

                                                                                                                  It may be “the dishwasher effect”. Before I had one (grew up without, then went on living without), I never thought it’s a big deal. Once I’ve bought one, I never think I’d go back.

                                                                                                                  But from my safe “defaults only on everything” perspective, I don’t see the incentive.

                                                                                                                  1. 2

                                                                                                                    That’s totally fine. If you are fine using the defaults on whatever system you have and that works for you, then you don’t need to be bothered. Tiling window managers (more specifically, the automated window management they allow) is attractive to me, but it doesn’t have to be for you.

                                                                                                                2. 3

                                                                                                                  I’ve seen a couple of comments talking about configuration paralysis, but I haven’t really experienced that. I just have everything full-screen all the time; I only switch to a “proper” tiling arrangement occasionally, e.g. if I’ve opened the GIMP; then switch back. Note that this isn’t per-app or configuration-dependent, it just rearranges whatever windows happen to be open on the current desktop.

                                                                                                                  In general, I quickly stopped caring about the size and shape of windows. The only per-app configuration I have is which virtual desktop my auto-start programs appear on, which is the same as I had on floating WMs.

                                                                                                                  1. 2

                                                                                                                    》What would a tiling wm bring me? How would my flow look like

                                                                                                                    Nothing. You would need arrange every window at your desired size and move them cross the workareas spending lot of time learning new keystrokes. This every time you need two new different applications working at the same sight.

                                                                                                                    1. 2

                                                                                                                      Not certain if this is a disgruntled or a troll reply :)

                                                                                                                      1. 2

                                                                                                                        sorry, not intended trolling. Its my opinion based in three years using i3. Sure I’m wrong.

                                                                                                                  1. 1

                                                                                                                    Something that I am curious about that wasn’t immediately obvious from the post: if I want to build a ARM-native Windows App for the Pro X, what do I have to do? It sounds like I can run Visual Studio, under emulation, on the Pro X and then use that to build ARM-native apps?

                                                                                                                    1. 1

                                                                                                                      Yes, that is what I use. In this repository I have some code to compile multiple Lua versions for Windows on ARM64 if you want to check it out, this windows batch file is used to compile a specific Lua version for each of the platforms: x86, x64 and arm64. It has some hardcoded paths in it but I’ve built this for my own personal use and am OK with that.

                                                                                                                      1. 1

                                                                                                                        Thanks, that’s very interesting. A programming language you might want to look at it is OCaml. There is a Windows version as well as ARM64 support, but at least not an official way to do both.