1. 17

    I find it amusing that the authors reaction to finding out that a private corporation has a frankly scary amount of access to his personal information was not to stop using their product, but just to click a few buttons where google promises they will be good.

    1. 10

      … and write an article about it. More than most do!

      But I think you may have missed the point. The premise is that the private corporation in question has a scary amount of access to the author’s dead grandpa’s personal information, such that they could link the two people together. Grandpa never even used their product, let alone gave consent. Boycotting the product as an individual pretty clearly won’t fix this.

      1. 3

        Boycotting the product as an individual pretty clearly won’t fix this.

        Sure it will. If people stop using Google products and services Google will die.

        1. 6

          minimax meant at an individual level. Most people don’t care enough about privacy to do that. So, the individuals like the grandpa boycotting Google won’t change anything since enough people will use it to keep them at what they’re doing. And what they’re doing will affect folks not using the product(s).

          1. -5


      1. 1

        Oh the spoilers! Nothing but plot summary here.

        1. 12

          $4.90 includes a 160x80 IPS RGB LCD and an acrylic transparent case. Not bad!

          1. 7

            That’s a lot of of onboard I/O for the price, too. No floating point, though. And I can’t tell what’s the cpu clock rate from that page or the first datasheet I clicked through to… but at that price, I’m almost sure to buy one or two just to play with.

            Really cool to see all these new RISC-V MCUs coming to market! Hopefully bigger computers aren’t too far behind; the HiFive Unleashed is still a little pricey for my taste.

            1. 3

              the cpu clock rate

              MCU data sheet says:

              The GD32VF103 device incorporates the RISC-V 32-bit processor core operating at 108 MHz frequency

          1. 2

            This book looks really interesting so I dove into the TOC but held off on reading a sample because it seems to be very heavy on REST, which seems somewhat limited. However, if I ever need a REST resource, I know where on the web I can get one.

            1. 5

              You can do quite a lot with a RESTful design, even if it’s not always the right approach for every service or every endpoint. HTTP API design and implementation is something I used to do a lot of, and I’m glad I took a deep dive into REST back then – it helped me avoid some common pitfalls and footguns I’ve seen since then. It’s kind of like learning functional programming: it might look really limiting at first, but people who engage with it often find that it improves the quality of their code, even when working in an imperative language.

              1. 1

                This is a really interesting take. Thanks!

              2. 2

                If you’re interested, they also have a weekly email newsletter, which you can sign up for (or see past issues of) here:https://apideveloperweekly.com/

              1. 6

                I don’t think this would help any of our discussions. Downvotes, even our rationalized ones which come in several flavors, are a pretty weak signal. I think it would be much better for you to simply reply to the unsubstantiated comments you are concerned about, asking politely ‘can you provide a reference for [specific claim]?’

                1. 2

                  Downvotes, even our rationalized ones which come in several flavors, are a pretty weak signal.

                  I agree with you 100% on the fact that downvotes are weak signal. A report and a tag would definitely work better, but perhaps is overkill?

                  politely asking for references is definitely an option too, but I personally think it’s a question no one asks often enough. And on top of that downvoting has a smaller inertia.

                  My (naive) hope is that even if it’s a weak signal, it will still be enough to train us commenters.

                  1. 4

                    I personally think it’s a question no one asks often enough.

                    Be the change you wish to see in the world.

                    it will still be enough to train us commenters.

                    People mess up, or they post something quickly in the spur of the moment (I’m certainly guilty of this). I much prefer a comment asking for clarification rather than an anonymous downvote that doesn’t address a specific flaw in my statement.

                    I really hope Lobste.rs is a community where anyone who feels they don’t understand someone’s argument can pipe up and ask for clarification. Just be reasonably polite and it usually works out.

                1. 3

                  Academic fraudsters need to carefully pick their field. There is lots of data associated with medical trials, which increases the risk of being caught. Software engineering is a good choice for fraudsters.

                  Hardly any software engineering papers get retracted.

                  1. 2

                    You’re so focused on grinding your little axe, you only see the risk side and not the rewards. The best place for fraud is still finance, despite being awash in data. Advertising’s great too. As for academic fields, biotech and medicine have the kind of big money and perverse incentives that make fraud inevitable. Would-be authorities on “software engineering” can’t even make claims that could be taken seriously enough to be worth retracting.

                    Here, gaze upon the “Replication crisis” and broaden your scope a little.

                    1. 1

                      This is a software related site, so I focus on software. What you say about finance and biotech may well be true.

                      Yes, fields that do experiments have a replication crisis. Software engineering has yet to reach the stage where enough experiments are done for this to be a serious issue.

                  1. 4


                    Classic Passion Project…..

                    Nobody on the planet would say, “This is a Good Idea, you should do that and get rich and famous….”

                    However, anybody looking at it would say, “Wow! That’s incredible, that must have taken sooo much work. It’s amazing, it’s beautiful, it’s fantastic….. (but but why why would you do that to yourself!?)”

                    1. 5

                      but but why why

                      Come on… it’s a sparkling gem in his portfolio. It will help him get more and better design work. This is not hard to understand!

                      1. 3

                        It is indeed a sparkling gem. I love it.

                        But I will bet you in the current economic climate it will have negative ROI, and constitute a huge opportunity loss compared to other things he could have done.

                        That said, yup, it’s magnificent.

                    1. 2

                      Is anyone else pissed up by the whole thing? You’ve written tons of Python2 programs and they are tainted now. Plus all the stuff in Python3 isn’t well-thought out enough and you can predict this is going to repeat with Python4/5/6.

                      If there’s an upside to it, it has motivated me to look into formal verification & Idris. Python’s issue is that interfaces/libraries are too informally specified. There’s no way to do any kind of upgrades without breaking something in some remote module somewhere written by some user you’re not even aware of.

                      1. 1

                        I’m optimistic that future major version bumps won’t be nearly so painful, but yeah it’s taught me the benefits of languages that may be harder to read (at least initially) but are easier to reason about.

                        1. 1

                          formal verification & Idris

                          Good stuff, but ambitious. Just having a strong static type system gets you much of the way there. GHC Haskell introduces compatibility-breaking features all the time twice yearly and the community just seems to absorb it without much complaint. On the other hand, the Haskell community is not the Python community! From what I’ve seen most languages don’t have Python’s strong focus on conventions.

                          1. 1

                            Just having a strong static type system gets you much of the way there.

                            I’d like interface specifications to convey how you can use them and what kind of guarantees they provide. Also once such interface has been published, I want that if it ever changes, a revision number is bumped up.

                            I’m tired to software that breaks because things are slightly incompatible. If things don’t work together, I don’t ever want them to fit together.

                            I don’t get anything of that with strong static typing.

                            1. 1

                              Off the top of my head, I’m guessing the Python community is 2 to 3 orders of magnitude larger than the Haskell community. That makes reaching “consensus” (rough term) about things like breaking language changes much harder.

                              1. 2

                                For sure. Also Python specifically targets beginners, non-computer scientists, and others who don’t really care about programming languages as such: it’s a good language for non-programmers, and not by accident. Meanwhile, Haskell has historically had its strongest user base in (certain sub-fields of) academic computer science.

                                Still, all that taken into consideration, I believe that Haskell’s type system is a strong reason why the community requires much less consensus. Refactoring a project to accommodate language changes (or anything else) is much less nerve-wracking in Haskell than in Python; I’ve experienced that for myself.

                          1. 3

                            Great post but huge missed opportunity to title it “Things you thought you GNU about Readline”

                            1. 3

                              Oh, “horrible confusion”. I like to imagine that GNU pronounces their G in part because Knuth pronounces his K, but I’m probably just mythologizing.

                            1. 5

                              I just started using Python in earnest this year and I was constantly infuriated by examples and modules that were Python 2 but had no indication until you started using them. Over and over I’d find a neat module that did exactly what I wanted but then I’d find out it was Python 2. Absolutely maddening.

                              1. 1

                                Can you give some examples? I found that years ago there was a lot of this, but many libraries I use now are Python3-only, and many of them even explicitly Python3.6+ (probably to use f-strings).

                                1. 1

                                  These were very hardware-oriented modules for doing robotic related things. The primary one that I needed was an interface for iRobot’s open platform: https://github.com/pomeroyb/Create2Control. I gave up and made two separate scripts because I needed Bluetooth from Python 3 libraries.

                                  1. 2

                                    I’ve had a very similar experience with various Raspberry Pi hardware add-ons. The vendors typically provide a python library to interface with the hardware, but it’s often not updated after it’s released. Try to build something with 2 or more bits of hardware and you find a horrible mess of mismatched python versions and mismatched dependency versions. Worst of all, you don’t find out until runtime whether two versions are incompatible.

                                2. 1

                                  This year? I’m not disputing your experience, but that’s surprising to me since the the community as a whole has been firmly on Python 3 for years now. http://py3readiness.org/ is all green, etc.

                                  1. 3

                                    These were very hardware-oriented modules for doing robotic related things.

                                    1. 2

                                      I for one am not surprised. The long tail is pretty long still. We’ll be dealing with infrequently maintained domain specific Py2 codebases and docs for many years to come.

                                      1. 1

                                        I wish I’d known about the “Can I Use Python 3?” tool that is on the page @kbd linked to. That would have saved me some frustrating moments. https://github.com/brettcannon/caniusepython3

                                1. 1

                                  Thanks for posting this. I was initially disappointed when I learned that Oil would be a superset rather than a translation target for OSH, but after reading these notes it makes a lot more sense. I’m really looking forward to seeing where this goes, and wish I had time to contribute.

                                  Minor usage nitpick: when you say “reign in complexity”, you really mean “rein”. It’s a horse rather than a kingship metaphor. Funny how languages evolve!

                                  1. 1

                                    OK, I’m glad it makes sense! I’m surprised more people haven’t pushed back on this, but I guess I explained it in many different ways.

                                    I welcome constructive feedback if you don’t have time to contribute. Feedback from experienced shell programmers is most immediately useful, but also from programmers who don’t know shell. Oil is also aimed at people who know say Python or JavaScript, but purposely avoid shell (which appears to be a pretty large group of people).

                                    Thanks for noticing the typo! Fixed :)

                                    1. 2

                                      Oil is also aimed at people who know say Python or JavaScript, but purposely avoid shell

                                      I’m one of those people! I didn’t realize I was in the target group for Oil until now :)

                                      1. 2

                                        Yes I just changed the definition of Oil to make this more clear:

                                        It’s parsed and evaluated like Python or Javascript, as opposed to being a “macro processor”.


                                        The shopt -s simple-word-eval algorithm gets rid of “word expansion” and makes it a much simpler “word evaluation”:


                                        I could also use feedback on these array rewrites from Python/JavaScript programmers. I think you will find the Oil version more readable than bash for sure.


                                        It may be less familiar than Python or JS, but on the other hand you will gain a lot of shell idioms that you can’t do in Python or JS. (This may or may not matter depending on the problem)

                                        The main difference is that Oil retains the bare words syntax for typability. And it has pipelines, && for sequencing, etc. Otherwise, it has Python-like data structures (still in progress), which is natural because it’s implemented in Python!

                                        More background: How to Parse Shell Like a Programming Language

                                  1. 2

                                    Great stuff; there’s a lot more on http://rossashby.info/ for the curious. I feel lucky to have been exposed to Ashby’s work in school; it’s too bad he’s not more widely known. If you know who Norbert Weiner was and what he did, but haven’t yet read Ashby, you really should. If you know Shannon and von Neumann, you should also know Weiner and Ashby. Foundational thinkers!

                                    1. 1

                                      Thanks for the tip. Damn, he died in 1972. This paper barely made it. He did a lot of amazing stuff up to that point just by the summary.

                                    1. 38

                                      I thought someone missed the satire tag at first.

                                      1. 28

                                        I agree. Also this blog post is beyond surreal. They are (in polite words) actually threatening people to use cookies or, otherwise we can expect them to use even worse techniques (fingerprinting)? And we should take a ‘solution’ from one of the co-inventors of this terrible surveillance model?

                                        At any rate, I am happy to see that they are apparently worried by Mozilla and Apple’s recent actions.

                                        1. 8

                                          Meh. After you’ve seen enough of it, Machiavellian doublespeak stops being “surreal” and just looks trite. By now, this is exactly what I expect from Alphabet Inc.

                                          1. 9

                                            New motto: “Don’t be honest.”

                                            1. 2

                                              Doublespeak is trite, Trite needn’t be right. That we should actively fight.

                                              Sorry for nitpicking.

                                        1. 6

                                          The author’s explanations are incomplete and likely to confuse.

                                          The “imprecise definition” at the top cannot tell between a functor and a monad; it isn’t rich enough. For example, this Haskell type has a Functor instance but no Monad:

                                          data Const b a = C b deriving (Functor)

                                          Const clearly is a type wrapper with no direct way to get at values of type a, satisfying the imprecise definition.

                                          The container examples ignore a massive caveat that manifests in every monad-bearing language. Because of the order of evaluation, along with the fact that monoidal structures stack and interact with each other (the Eckmann-Hilton argument, sometimes known as the slogan “monoids in categories of monoids are commutative”), the typical container forms a cromulent functor, but not necessarily a monad. In Haskell, the classic example is ListT and how it can fail to be a monad transformer.

                                          Indeed, many containers have technical nits in their APIs which prevent monadic behavior. In Haskell, the classic example is the family of data structures in Data.Set; these sets cannot provide Monads due to weaknesses in Haskell’s type system.

                                          The author briefly touches on continuations, but misses the important connections. A continuation type doesn’t just provide a monad, but a family of monads, via the “mother of all monads” construction. For each continuation type, there is an interesting collection of behaviors, and all of the other different monads can be implemented in terms of the “mother” continuation monad. Constructing a list monad, or another container-shaped monad, on top of continuations is very instructive; the amount of non-determinism in the list monad varies with the number of times and places that the continuations can be called.

                                          I’m not sure what’s scary about mathematical presentations of category-theoretic concepts. If the author grokked categories of endofunctors, then they would more clearly understand how monads aren’t containers. Alongside their reading recommendations, I’d recommend Seven Sketches.

                                          As a closing note, why are programmers afraid of maths?

                                          1. 15

                                            As a closing note, why are programmers afraid of maths?

                                            Maybe because they’re told they need to “grok categories of endofunctors” and then linked to a 350 page book on an advanced math topic.

                                            Look, I love math. I made my career teaching temporal logic to programmers, and it’s awesome. You know what the first major stumbling block for programmers is, though? false => true. That breaks people. Telling them they’re wrong about monads and throwing them in the deep end is a terrible way to get people to like using math.

                                            1. 4

                                              I personally feel that the word “implies” is too strong and may have been created by a lack of words for an inability to disprove. “Does not disprove” is probably closer to how most think about it. A false statement can’t be used as evidence against any statement. To actually meaningfully prove something your claims must survive evidence against, so it makes sense to have a term that represents surviving attacks however weak. I’m sure this also captures a little bit of Boole’s biases around what something failing to be disproved means, after all he was intensely religious. Still the operation is pretty useful, and will likely continue to be.

                                              1. 2

                                                Sure. I don’t care whether people like using math; math is still an essential part of existence, and in particular of writing code. One does not have to enjoy a task to not fear it. My coworkers react to matrix multiplication like they would to snakes or spiders, and I think that that is ridiculous.

                                                I will readily admit that I am broken, and further that I believe that it’s not possible to think like a computer without breaking oneself. But the reward of the study of maths is that there is a deep reason why false -> true and false => true show up. If one has already sacrificed their sanity in order to understand how to write code, one might as well take in the beauty of the works of mathematicians, since it is only with this other-than-sane viewpoint that the beauty is visible.

                                                1. 4

                                                  I mean breaks them as in “it’s really, really hard to get them to understand it”. I lie awake at nights trying to find better ways to explain it. And most programmers don’t need to know that to write code. People who want to write formal specifications of code need to know it. Not everybody needs to do that either.

                                                  But the reward of the study of maths is that there is a deep reason why false -> true and false => true show up [link to (-1)-categories]

                                                  That is a terrible explanation. Here’s a much better one (which still, admittedly, isn’t that great):

                                                  “If x > 5 then x > 0, right? So x > 5 => x > 0. But now let’s pick x = 3. [now] 3 < 5 and 3 > 0, so we have false => true. So you see, intuitively you’re already comfortable with F => T, it’s just that it looks weird when we formalize it.”

                                                  Do you see why that’s a better explanation?

                                                  (edit, added a spacer)

                                                  1. 3

                                                    One reason this is a better explanation is that you sort-of described what the symbol => means though context. I still don’t know specifically what it means though in this context, though. Is this a Haskell symbol or a temporal logic symbol?

                                                    You lost me on “x = 3. 3 < 5 and 3 > 0”, because it’s not immediately obvious that the . denotes the end of the sentence (I had to read it multiple times before I realized you had written x = 3. 3 < 5 and not x = 3.3 < 5. It’s also confusing that two more symbols F and T are introduced at the end, this time with no context clues to infer their meaning.

                                                    1. 1

                                                      Oh to clarify this would be in the broader context of teaching someone propositional logic, so they’d know => means implication. P => Q means that if P is true, then Q is also true. As @voronoipotato said, it’s technically closer to “is at least as strong as”. At this point I’d also have introduced the shorthand for T and F.

                                                      1. 1

                                                        Thanks for the clarification. I initially tried reading it as “implies”, then as a Haskell fat arrow, and neither made sense to me. Reading it as “is at least as strong as” makes a lot more sense.

                                                      2. 1

                                                        FWIW => is a pretty standard asciification of ⇒, and -> of →. Both of these symbols are used to mean material implication in mathematical writing. If you see them both in the same place, you’re probably looking at formal logic of some kind, and there’s likely an important technical difference between the two. I won’t get into Haskell or TLA+ syntax here, or even constructive vs classical logic, but yeah there are more subtle distinctions to be confused by here.

                                                        When I have to explain ->, I just say P -> Q means (not P) or Q. Maybe write down a truth table. In my experience, even programmers can usually figure that out.

                                                2. 5

                                                  As a closing note, why are programmers afraid of maths?

                                                  My university mathematics ended after the third semester of calculus – a requirement that only existed because, where I went to school, computer science was part of the engineering department. Most working programmers with CS degrees got them from places that didn’t require them to go beyond one semester of calculus. A lot of working programmers don’t have degrees at all.

                                                  Haskell evangelists make the claim that monads provide specific utility to everyday development tasks. Devs who want to determine whether or not this claim is true. Even if they knew it to be undoubtedly true, they would not generally be willing to go back to school & attend four semesters of mathematics courses in order to get incremental gains in reliability or productivity. (Working programmers have a tendency to ignore or avoid techniques that provide much more substantial gains in reliability & productivity because of much smaller initial learning curves than group & category theory.)

                                                  One way to thread this needle is to stop claiming that the benefits of monads are accessible to developers who do not also have a graduate degree in mathematics. (This would probably kill some of the momentum behind the adoption of functional programming techniques – which, though hype-driven, is long overdue & is liable, if it continues, to substantially improve the general quality of software & make software that takes advantage of multiple cores a lot more common.) The other is to write explanations that, while wrong, are less wrong than what your average code monkey already believes about monads while being accessible to said code monkey. (This annoys everybody who knows more than the author, but provides some utility, since readers gain the confidence to actually use monads without fully understanding them.)

                                                  1. 1

                                                    (This annoys everybody who knows more than the author, but provides some utility, since readers gain the confidence to actually use monads without fully understanding them.)

                                                    I wanna add that this is not even necessarily the case. Leaving information out and skewing details are very well known teaching methods. Take continuous functions as an example. In school they’re “functions that you can draw without taking the pen off the paper”. For a mathematician a more fitting explanation is “small changes in inputs cause relatively small changes in outputs”, since even continuous functions can have holes.

                                                    1. 2

                                                      Yup, ‘lies for children’ are almost unavoidable. It’s still annoying to read something when you’re not part of the target audience, though, which seems to be the complaint here – somebody with a strong background in category theory being irritated at the reminder that introductory materials exist.

                                                  2. 5

                                                    Programmers are afraid of math because they never learned it, obviously. We often only have one or two classes on proofs as a prerequisite for programming, and they are introduced near the end of our education. Mathematics without proofs is like painting by number. It’s no wonder most people feel alienated by it, they are asked to trust the conclusions of others without meaningful evidence. Most of these claims are often not readily available to the intuition. People who simply do as they are told and follow instructions perform quite well at “mathematics” as it is taught. The rest, those who are capable of questioning, would perform quite well at actually proving things are weeded out long before they would ever have any opportunity.

                                                    1. 1

                                                      I don’t think most programmers end up studying proofs in university at all. I only did because I took math electives, & most CS degree programmes are much less mathematical than the one I had.

                                                    2. 4

                                                      Writing clearly and concisely in a manner appropriate to the audience is a skill. The author managed this and I’m grateful.

                                                      It would be good to see corrections in the same language (a mix of plain English and commonly-understood programming language).

                                                      Explaining maths in maths doesn’t work very well when the audience aren’t necessarily mathematicians.

                                                      It’s the same problem as programmers explaining programming concepts to non-programmers. Using plain English for this is a hard skill - harder than learning to program.

                                                      1. 2

                                                        There is no such thing as plain English. (If you still disagree, I respectfully invite you to formally define it.)

                                                        I do not want the author to correct their monad tutorial; I would like the author to not write monad tutorials. Monad tutorials are deeply harmful. They do violence not only to the concept of monads, but to the audience’s ability to internalize concepts with their own personalized schemata and experiences.

                                                        By analogy, I’d like to consider another concept which appears in many programming languages and which many people develop an intuition for: Numbers. Imagine if programmers were required to build up a working concept of what numbers are and how they work. Do you suppose that people would write number tutorials? Would they explain how numbers work by analogy? It’s easy enough for me to imagine that the author would write some copy along those lines:

                                                        Imprecise definition: A number is a type that counts an object of another type. There is no direct way to get each of the ‘inside’ objects. Instead you ask arithmetic to act on the number for you. Numeric classes are a lot like classes implementing the composite pattern, but numbers are capable of returning something composed with another number.

                                                        Would you really excuse them if they later tried to explain, formally:

                                                        The concept of numbers comes from arithmetic.

                                                        A number tutorial would be a folly precisely because we hope that folks will build a robust and flexible concept of numbers which can stretch beyond the integers or other familiar domains. Similarly, monad-tutorial-oriented teaching leaves students without a concept of what monads generally are, once we leave the computer and explore the wider world. How will folks learn about the monoidal behavior of monads without understanding that a monad is a certain sort of monoid? Category theory is the most generic formalism yet for discussing reality at large.

                                                        Every programmer is a mathematician, as a matter of necessary practice. I studied music, not maths, but I nonetheless am not excused from mathematical thinking when writing code.

                                                        1. 2

                                                          You’ve never seen a tutorial about how to start with the everyday concept of counting numbers, and then build up more and more complicated notions of “number” from these until you reach octonions? (Or go down and define natural numbers in terms of ZFC?)

                                                          1. 1

                                                            I find it telling that you did not link to any sources. I can produce the evidence, but of course it will favor my position, as I am biased. We’ll look at constructing the reals from the naturals, the octonions from the reals, and natural numbers in ZFC.

                                                            First, construction of real numbers. Let’s compare some sources. Wikipedia starts from the perspective that there are many different constructions, and that they all involve rational numbers. Wikibooks emphasizes the need to ground the reals in axiomatic foundations, and not to assume that they exist. In both cases, some prior knowledge is assumed; the construction isn’t from-scratch on a single page.

                                                            Second, construction of octonions. Wikipedia mentions each step of the construction, including the familiar example of complex numbers. Baez is, to me, an extremely casual and friendly approach to the topic, but note that they do not drop formalities:

                                                            It would be nice to have a construction of the normed division algebras ℝ, ℂ, ℍ, 𝕆 that explained why each one fits neatly inside the next. It would be nice if this construction made it clear why ℍ is noncommutative and 𝕆 is nonassociative. It would be even better if this construction gave an infinite sequence of algebras, doubling in dimension each time, with the normed division algebras as the first four. In fact, there is such a construction: it’s called the Cayley-Dickson construction.

                                                            And, finally, natural numbers in ZFC. Wikipedia has answers and examples. In particular, Wikipedia contains an important note as its first line:

                                                            Several ways have been proposed to construct the natural numbers using set theory.

                                                      1. 1

                                                        I noticed that I already started out-typing the system at 10 ms, however the supposed 60 ms keyboard latency of a Logitech k360 has never bothered me before.

                                                        1. 6

                                                          That 10ms and that 60ms are pretty different things. I tried the 5ms setting on my Mid-2014 Macbook Pro and (measured with a high speed camera, plugged in with 50% battery, two browsers open with about 100 tabs between them but nothing consuming more than 10% CPU on the machine), the latency was 130ms - 170ms across a few runs, I’d probably see more variance if I had an automated setup and could easily get tail latency. I tried 100ms and got about 200ms total latency (only two runs at 100ms, it’s 2am local time and I should get to bed, I’d probably see a similar level of variance as with the 5ms setting if I tried more runs).

                                                          Jamie Brandon has a post on what happens when you try to specify precise delays in the browser. This isn’t the same thing since his post discussed delays when the input pipeline is effectively removed, but even without the input latency, a 10ms specified delay in the browser can easily cause 3x to 7x the actual delay, depending on what you’re trying to measure. As with the measurement I just did, it’s only a few runs, tail latency should be higher. If you want to “port” Jamie’s numbers to what we’re looking at here, Jamie’s delay is added to the input latency that’s already there with any off-the-shelf computer hardware.

                                                          1. 1

                                                            Thanks for confirming my suspicions.

                                                      1. 17

                                                        Do not delete the path part of that URL, yikes.

                                                        Anyway, what is “Suckless”? That’s what I was trying to see, and instead got an image of a naked man holding a bottle of wine.

                                                        1. 16

                                                          For Suckless, see https://suckless.org/, not the users subdomain.

                                                          It’s a project/group related to cat-v and classical-unix/plan9 advocacy, rejecting tools that “suck” and wanting to replace them with “simpler” alternatives (dwm for window managment, st for terminals, dmenu for reading keyboard input, …). This often entails that configurations have to be applied pre-compilation and that the default distributions of various tools and projects are pretty lean – hence additional features are collected as patches, which are listed here, showing which can be successfully applied, and which can’t.

                                                          1. 4

                                                            I can report that dwm and st are great tools.

                                                            The only hitch is recompiling them after modifying their configuration files, which are written in C. Many people don’t like this. Some, like myself, don’t mind.

                                                            1. 3

                                                              I used st (off and on) for a while (~1yr), and for me the biggest annoyance was having to rebase some patches when multiple patches modify similar lines of code. Once that headache was resolved, it was generally OK unless some st commits triggered rebasing some stuff again. Basically it was all the fun of maintaining your own branch of st with patches someone else wrote.

                                                          2. 13

                                                            Suckless was in its heyday around the time of the systemd eruption, as far as I know. This would be around 2010. Slightly prior was this one weird viral video of an artist named Gunther, a self-styled “sex prophet,” who made the rounds with a (completely SFW in the most technical of senses, though apparently not germane to your sensibilities, bheisler, which is fine with me, thus this explanatory note to lessen the blow of freakishness herein) music video called “Ding Ding Dong.” Pop music beats, euro summer beach ditzy style. Not amazing, but pretty good, definitely unique. The naked man is that same gunther. Just wanted to clear that up, because this is a clear case of an overreaction to a misunderstood joke. As far as I know, the suckless community was and is to the extent that it still exists, pretty insular. Probably didn’t anticipate being posted on an HN style board

                                                            1. 7

                                                              Probably didn’t anticipate being posted on an HN style board

                                                              Lobste.rs has even “suckless developer” hat used by several people. Not quite buying the unanticipated part.

                                                              1. 1


                                                                Would you, however, admit that Gunther, the individual who presumably is the man behind gunther.suckless org, is not the OP of this link?

                                                                In admitting this, if you do admit this, are you not therefore forced to agree with me that the post we’re discussing was not intentionally put forth as a display of nudity to eyes averse to that same nudity?

                                                                If a list of patches to utilities and other programs is hosted at a path of a subdomain which contains the image a naked man holding a vertical wine bottle (with suggestive verticality) is posted without awareness of the suggestive verticality of said bottle, then can’t we conclude that the proximate nature of that suggestively vertical bottle to said list of patches to utilities and programs is in some sense accidental, and therefore unanticipated?

                                                                By this argument, I intend to demonstrate that your claim, while seemingly reasonable, is eliding the quite clear nature of the circumstances, in an effort to maintain that all suckless developers and subdomain holders should be aware of all possible audiences for their online “speech” (or however you wish to define what the image is), when in fact it is absurd to believe that all speech of all suckless developers would be anticipated to agree with all possible audiences. I’m afraid that, unless Gunther appears to justify his position, we’ll have to remain in a misunderstanding silence regarding the reason why a suggestively vertical bottle and naked man are so closely associated with this list of patches.

                                                                I tried to explain it, because it seemed necessary to explain, to me. Perhaps one day, your doubt regarding this explanation will itself be exposed to the eyes of someone on a far away news site, and they will be as horrified as if they had seen a vertical and suggestively placed bottle.

                                                                1. 2

                                                                  @varjag simply wanted to inform you that @FRIGN not only has an account here, but also has the [suckess.org developer] hat. So a lot of the community knows about Suckless (presumably not @bheisler, who asked the question in the first place).

                                                                  I must confess to be in the same position as @bheisler. I knew of suckless, but had no idea what the linked page meant in context of that project.

                                                              2. 3

                                                                So the guy probably thought since he had the same name as this weirdo that for internet reasons (remember when memes were cool and unique signifiers of in-group identification?) it would naturally follow to have him around on the ol’ personal page

                                                                1. 2

                                                                  Sorry for the long-winded explanation, but I miss the old web, and I am not even old! Would you, Herr heisler, have been hip to a tidy game of Flash-powered Sandspiel, even if it were on a subdomain of ebaumsworld?

                                                              3. 8

                                                                The suckless project makes and maintains a bunch of Unix programs that meet their definition of “sucking less” - http://suckless.org/philosophy/

                                                                I’ve been caught off guard by them offering personal subdomains on their site before, too - suckless.org is SFW, but any individual subdomain?

                                                                I use and like dwm when I can.

                                                                1. 17

                                                                  They like to send mail from hosts with names like wolfsschanze. You can also see FRIGN’s opinion about diversity as shared on lobsters. Or the time someone pointed out there are torchlit marches at suckless conferences and someone else asked FRIGN to clarify and he basically admitted to being a white nationalist, complete with dogwhistles like “cultural marxism”?

                                                                  I’m not saying that suckless is definitely a white nationalist organization but I am saying someone would have to do a lot of work to convince me otherwise.

                                                                  1. 4

                                                                    Must we do this everytime someone posts something suckless related? Can we please just talk about technology instead of all this political nonsense and random accusations?

                                                                    1. 13

                                                                      Look, for every person who thinks this is “political nonsense and random accusations,” there’s at least one person who thinks this is so damning that they want literally nothing to do with suckless ever again.

                                                                      And despite Lobster’s general “politics is off-topic” policy, this thread is literally someone asking “what is ‘Suckless’?”, so if it’s on-topic anywhere, it’s here.

                                                                      1. 2

                                                                        Please see my reply above.

                                                                        1. 5

                                                                          Um. Welcome to lobsters? A couple of words to a wise guy:

                                                                          1. Your previous comment is not “above” this one. The whole tree gets reordered based on upvotes.
                                                                          2. That stream-of-consciousness-wall-of-text style may play well wherever @enkiv2 invited you from, but it’s gauche here. At least, I find it exhausting more than amusing.
                                                                          3. For heaven’s sake, please don’t feed the trolls! No matter how many big buckets of troll slop you may have handy.
                                                                          1. 0

                                                                            Thank you, minimax! – for your welcome, since it is utterly welcoming. A couple more words in response, and whether they contain a wisdom equivalent to my similar and apparently inherent quality of same is entirely your determination. I am so grateful to have run into an authority on these matters. Perhaps you can finally solve the trolley problem for us all, and divide good people from bad ones, as you scry into your palantir of forum posts.

                                                                            To wit -

                                                                            (1) My previous comment is in a tree of comments.

                                                                            (a) What is the precise and preferred nomenclature, such that an ignoramus could understand?

                                                                            (b) In the sense that a tree (such as this comment tree) goes from a single node to plenty of nodes, is it entirely inappropriate to say “above” in order to indicate, where n is the depth indicated away from the origin, trunk, root, or base of the tree, the position n - 1? I understand if your perspective is like the protagonist of Ender’s game, and you feel like n-1 compared to n is down, not up, but Ender held that of his enemies, and I am not yours. Are you mine?

                                                                            (2) I don’t care. Actually, like a total four-year-old, I feel an evil glee.

                                                                            (a) When you say, “stream-of-consciousness-wall-of-text,” you are committing a grammatical error by hypenating between “chunks” of words. One noun is “stream-of-consciousness” and the other is “wall-of-text,” and, while neither necessitates hyphens, it is an elegant stylistic choice, and redounds back upon my usage of “implied-by-you.” But the nouns you connected simply don’t need to be joined. In fact, they should be separated by a comma. I’m running out of breath just looking at it.

                                                                            (b) Gauche – what is the meaning of this word in the sense you’re applying?

                                                                            (b, cont.) John Ohno is no concern of yours in this regard, is he? What are you, a partisan of webbiness that wants to condemn hypertext? What beef could you possibly have with the guy? How do you even go from his proto-post-communism on the one hand and quasi-Ludditic radically conservative ideals of “small computing” on the other, to me? Am I to consider you as thinking that my response, “below,” (in opposition to ngoldbaum’s unfair condemnation of an entire ideal of technical practice in contemporary FOSS on the basis of his own flawed reasoning, equating cultural marxism, which predates the ilk whom ngoldbaum is, in abject ignorance, confusingly attempting to condemn, by about 45 years) the same as enkiv2’s opinions?

                                                                            (b, cont.) That you find it exhausting to read: good for you. :)

                                                                            (3) This would be humorless, except it is meaningless.

                                                                            Please, oh minimax, solve the trolley problem, since you know how to identify trolls and can give advice to the gauche. I am happy to lay on the tracks if you want to flip that switch to experimentally determine once and for all whether it is worth saving some arbitrary group of people as opposed to me. Regarding the basic subject matter at hand, which is suckless, and someone’s unfair-in-my-opinion (see how that’s grammatical?) condemnation of suckless, I should say that I find a policy of opposition to affirmative action intolerant. I support techne, and it follows that I support suckless. It does not therefore follow that I support what ngoldbaum very confusedly understands to be a persecution of the Jews by FRIGN. This seems absurd to have to point out, but here we are. Again: I find intolerance disgusting. I also find vendettas disgusting. Lastly, I find hubris disgusting. I am painfully aware that I, too, sadly lack the cleanliness that would come with an absence of this very quality. However, you have to admit, your hubris in judging me is incomparably greater than my hubris in defending myself against your allegations of . . .

                                                                            1. Being a “wise guy.”
                                                                            2. Having a “gauche” “style.”
                                                                            3. Having an exhausting and unamusing style.
                                                                            4. Feeding the trolls, in contradiction to the “sake of heaven.”
                                                                            5. Having handy “troll slop.”

                                                                            Your welcome is most welcome.

                                                                            And you’re welcome.



                                                                            P.S.: “A couple of words” is merely a figure of speech! And you don’t have to type “um,” even if you habitually say it!

                                                                            1. 4

                                                                              This sardonic flippancy is tedious and unwelcome. Please treat others better than this.

                                                                              1. 2


                                                                              2. 1

                                                                                (a) What is the precise and preferred nomenclature, such that an ignoramus could understand?

                                                                                I prefer to simply provide a link to the comment.

                                                                                (2) I don’t care. Actually, like a total four-year-old, I feel an evil glee.

                                                                                This is not a good attitude to have on Lobste.rs.

                                                                                (b) Gauche – what is the meaning of this word in the sense you’re applying?

                                                                                I’m not @minimax, but I would read it as “socially awkward”.

                                                                                (b, cont.) John Ohno is no concern of yours in this regard, is he?

                                                                                Actually he is, as he invited you and has a certain responsibility for that invitation.

                                                                                1. 2

                                                                                  Yeah, um, @lettucehead, please don’t get yourself banned. I would not have invited you if I didn’t expect you to acknowledge community norms & practices.

                                                                                  1. 0

                                                                                    I just saw your reply to this thread, and I want to thank you again for the invite, and assure you that I won’t be a troll or otherwise possess sardonic flippancy in the future. Well I will try to tone it down. A lot.

                                                                                    I still have all my questions from this thread (how the heck can somebody using the words “cultural Marxism” to discuss radical forms of Marxism having to do with culture, which are genuine phenomena, be considered an anti-Semitic “dogwhistle?” Why was I considered a troll for pointing out this exhausting and unfair absurdity? Will pushcx ever change his mind about my sardonic flippancy, and see it for the charmingly wonderful firehose of Furby-faced unicorns it really is? Like the center of a Tootsie Pop’s per-lick depth scalar, the world may never know)… Thus I have decided to just let it go. Or maybe I’ll start a tech blog and collect $20 from Drew DeVault.

                                                                                    I just wanted to make a splash. I will certainly be more careful moving fwd, and not imperil your reputation. Any further than you yourself do all the time with all the “small computing” heresies I hear you’ve been spreading among the faithful, turning Microsoft customers into the reprobate worshippers of Alan Kay. Tsk, tsk. Cheers

                                                                      2. 1

                                                                        Hey, because minimax decided to play mod with my “gauche style,” and I suspect he just disagrees with what he believes to be my assumptions about what you said, I have some further, legitimate, serious questions. What can you say to substantiate your reduction of the “stream-of-consciousness, wall-of-text style” (to use minimax’s phrase with my improvement) post by which FRIGN “[clarified,] and … basically admitted to being a white nationalist,” in the torchlit marches link, above?

                                                                        I’m honestly confused, I just don’t see how you get that from what he said. Can you, please, substantiate your reduction of what he actually said, to what you said he said?

                                                                        Or, can you remove your unnecessarily politicizing post, in violation of pushcx’s general wishes for this forum? I will happily delete (or respect the deletion of) my replies to it, so that we’re “even.” But let it be known, I do wish substantive answers because I am sincerely curious about your opinion and understanding, and would rather not have the kabosh put on a polite and principled discussion. We’re all crustaceans here, instead of denizens of the orange site, because the discussion is of a much higher quality. At least, that’s what I’m here for, and I care deeply about that.

                                                                        I should also add that I never would have been aware of any rift between certain members of this community were it not for one of your posts on almost the exact same subject several months ago, and while I have picked on specific points of contention regarding the “dogwhistles,” I was glad to receive the intelligence represented by your… saintly screeds… in this regard, both initially and now.

                                                                        1. -5

                                                                          I believe your characterization of FRIGN and some generally-applicable ad hominem arguments about suckless devs as a whole are accurate and appropriate. Furthermore, I do think it’s not unreasonable to maintain that the qualifier “definitely,” being dropped, would result in a statement of something that you are indeed saying. I encourage you to unequivocally embrace your own opinions, since greater accuracy and forthrightness about a diminished predicate (the implied-by-you “absolute” white-nationalism of suckless being reduced to a mere quality thereof) will remove the difficulty necessitating a disavowal of your own opinion in the first place.

                                                                          It is an intellectual error to equate white nationalism with opposition to cultural marxism. The preeminent hypervisor over the various and factional containers of that latter opposition, Jordan Peterson, was interested when Zizek pointed out that during the passion of Christ, he said, “Why hast thou forsaken me?,” a point of contention in scholastic philosophy that, from Zizek’s point of view, cut at a certain root of Peterson’s misunderstanding of what communism was all about, in relation to the nominal subject of their appearance together recently. The fact that that seems unrelated, is because it is. However, it is definitely in the strictest possible sense of “relating to definition,” relevant to cultural marxism as such. All this is to say – there is such a thing as conversation, and it is stymied when an equation is made between unequal parts. I dont dispute the apparent co-location of nationalism and anti-Marxism, but this goes without saying, and I don’t dispute the divergent interests of “whiteness” (as concieved by the so-called cultural Marxists) and “culture” (read: “diversity;” as conceived by the self-styled neoreactionaries).

                                                                          In the final analysis, we’ll all go along with some eventual victory in the political arena, and either condemn or glorify the ideologues of the suckless branch of post- simplicity accordingly, but that victory has not yet been obtained by either belligerent party in this technical and confounded arena. Until then, FRIGN is probably gonna go on with his agenda in every sense, the mods are gonna maintain their positions of relative non-interference, and you might remain willing to conflate ethics with techne. I shall not.

                                                                          (The only remaining position is cultural Trotskyism!)

                                                                      1. 1

                                                                        Julia has grown into my all-time favorite general-purpose programming language. It beautifully combines the accessibility of Python, the power of Lisp, and the performance of C, all while introducing its own set of mind-blowing magic tricks. I’m surprised that it hasn’t already taken the world by storm. If you do a lot of deep prototyping or scientific computing, you absolutely must give Julia a try.

                                                                        1. 2

                                                                          I recall @dl gave it a try in December 2014 and had some stuff to say about it. It might be interesting to follow up on some of that, nearly 5 years later.

                                                                          Julia is a great language in many regards, and very promising, but if it’s going to unseat the incumbent data science languages (I mean Python and R) it’s going to need a lot more libraries, and even then it’s a long uphill struggle against network effects from entrenched codebases and mindshare. Consider how much (most?) software is still written in C++ despite the long existence of “obviously better” alternatives. We can hope for a “sea change”, but don’t bet on a “storm”.

                                                                        1. 2

                                                                          Maybe not quite as dead as the article makes it sound; see http://www.andescotia.com/products/marten/

                                                                          While not directly affiliated with Prograph, http://www.clarity-support.co.uk/products/clarity/ may also be of interest.

                                                                          And of course there’s pd and its commercial offspring Max, which are not really trying to be general-purpose software development languages, but seem pretty successful in their niches.

                                                                          1. 9

                                                                            The title is a huge stretch based on the content. Still an interesting post.

                                                                            I’m not worried about having my phone number lifted by passers by, I’m sure even a mildly dedicated person could recover my phone number with only my full name. And that doesn’t really bother me.

                                                                            I’m more curious if these BLE pings could be used to reliably track people en masse. As an uninteresting individual, I’m much more worried about abuses of mass surveillance than targeted attacks.

                                                                            1. 4

                                                                              I’m more curious if these BLE pings could be used to reliably track people en masse.

                                                                              Yeah, probably: https://www.theverge.com/2019/6/3/18647146/apple-find-my-app-tracker-friends-iphone-wwdc-2019

                                                                              Apple is going to help people track their things and their loved ones with a new macOS and iOS app called Find My. At its annual Worldwide Developers Conference today, the company announced that the new app will combine Find My Friends and Find My iPhone. The idea is that Find My will be a single place to track everything, including people and Macs. It’ll be available on both iOS and macOS.

                                                                              The tracking works even if a device isn’t connected to Wi-Fi or a network, the company says. Macs will send a secure Bluetooth signal occasionally, which will then be used to create a mesh network of other Apple devices, so people can track their products. A map will populate of where the device is located.

                                                                              1. 1

                                                                                Whether it’s actually private in practice or not is up for debate (and will be seen when iOS 13 enters widespread use), but Apple certainly didn’t ignore the privacy concerns when it came to the Find My implementation: https://www.wired.com/story/apple-find-my-cryptography-bluetooth/

                                                                              2. 3

                                                                                You might care more if your phone number got ported out and then used to reset all your online service account passwords, which might then be held for ransom or otherwise cause you to have a bad day. It happens.

                                                                                1. 5

                                                                                  With my provider my phone number can’t be ported unless I’m physically present with photo ID. Again, since my phone number is trivially available, I don’t consider its secrecy valuable for security.

                                                                                  1. 6

                                                                                    With my provider my phone number can’t be ported unless I’m physically present with photo ID.

                                                                                    You put way too much faith in your provider.


                                                                                    Social engineering attacks are the single most common attack vector.

                                                                                    I say this as a former pentester.

                                                                                    1. 6

                                                                                      Other than ID and paperwork, in my country porting requires time (more than a week) and sends notifications. The SIM from the carrier I was porting from received SMS notifications after signing the paperwork. And I got a call from that carrier begging me to stay and asking for confirmation.

                                                                                      Nothing is perfect but not everything is as terrible as the horror stories involving U.S. carriers where a number was ported quickly and suddenly with zero communication via the old SIM prior to the switch.

                                                                                      1. 4

                                                                                        And you make way too many assumptions. You have absolutely no idea who I am, what I know, or what my situation is like. Yet you presume to lecture me about social engineering.

                                                                                        1. 3

                                                                                          In that case, do the rest of the world a favor and share with us the name of the one company on earth that is demonstrably absolutely immune to social engineering attacks. I imagine a lot of people would like to become their customers.

                                                                                          1. 2

                                                                                            If I have a sim card say from Sudan, where customer service workers aren’t likely to speak other languages than Sudanese Arabic and I live in say Germany, and conduct most of my life online in German, then it’s more likely my attackers are gonna be German as well, and for them it’s almost impossible to social engineer their way into porting my sim card from Sudan.

                                                                                            We shouldn’t turn legitimate security advice turn into platitudes by stripping it out of context, and by being too generous in our assumptions about others.

                                                                                  2. 3

                                                                                    I think the most serious one there is getting Wifi passwords from iPhones by spoofing a friend.

                                                                                    1. 4

                                                                                      I agree, but that notably requires their phone to be unlocked. Unfortunately I can easily imagine people blindly accepting without paying attention, or understanding what they’re doing.

                                                                                  1. 10

                                                                                    I switched off of Google products about 6 months ago.

                                                                                    What I did was I bought a Fastmail subscription, went through all my online accounts (I use a password manager so this was relatively easy) and either deleted the ones I didn’t need or switched them to the new e-mail address. Next, I made the @gmail address forward and then delete all mail to my new address. Finally, I deleted all my mail using a filter. I had been using mbsync for a while prior to this so all of my historical e-mail was already synced to my machine (and backed up).

                                                                                    Re. GitHub, for the same reasons you mentioned, I turned my @gmail address into a secondary e-mail address so that my commit history would be preserved.

                                                                                    I still get the occasional newsletter on the old address, but that’s about it. Other than having had to take a few hours to update all my online accounts back when I decided to make the switch, I haven’t been inconvenienced by the switch at all.

                                                                                    1. 4

                                                                                      It’s really exciting to see people migrating away from Gmail, but the frequency with which these posts seem to co-ocur with Fastmail is somehow disappointing. Before Gmail we had Hotmail and Yahoo Mail, and after Gmail, perhaps it would be nicer to avoid more centralization.

                                                                                      One of the many problems with Gmail is their position of privilege with respect to everyone’s communication. There is a high chance that if you send anyone e-mail, Google will know about it. Swapping Google out for Fastmail doesn’t solve that.

                                                                                      Not offering any solution, just a comment :) It’s damned hard to self-host a reputable mail server in recent times, and although I host one myself, it’s not really a general solution

                                                                                      1. 5

                                                                                        Swapping Google out for Fastmail solves having Google know everything about my email. I’m not nearly as concerned about Fastmail abusing their access to my email, because I’m their customer rather than their product. And with my own domain, I can move to one of their competitors seamlessly if ever that were to change. I have no interest in running my own email server; there are far more interesting frustrations for my spare time.

                                                                                        1. 2

                                                                                          I can agree that a feasible way to avoid centralization would be nicer. However, when people talk about FastMail / ProtonMail, they still mean using their own domain name but paying a monthly fee (to a company supposedly more aligned with the customer’s interests) for being spared from having to set up their own infrastructure that: (A) keeps spam away and (B) makes sure your own communication doesn’t end up in people’s Junk folder.

                                                                                          To this end, I think it’s a big leap forward towards future-proofing your online presence, and not necessarily something comparable to moving from Yahoo! to Google.

                                                                                          1. 3

                                                                                            for being spared from having to set up their own infrastructure that: (A) keeps spam away and (B) makes sure your own communication doesn’t end up in people’s Junk folder.

                                                                                            I’m by no means against Fastmail or Proton, and I don’t think everyone should setup their own server if they don’t want to, but it’s a bit more nuanced.

                                                                                            Spamassassin with defaults settings is very effective at detecting obvious spam. Beyond obvious spam it gets more interesting. Basically, if you never see any spam, it means that either you haven’t told anyone your address, or the filter has false positives.

                                                                                            This is where the “makes sure your own communication doesn’t end up in people’s Junk folder” part comes into play. Sure, you will run into issues if you setup your server incorrectly (e.g. open relay) or aren’t using best current practices that are meant to help other servers see if email that uses your domain for From: is legitimate and report suspicious activity to the domain owner (SPF, DKIM, DMARC). A correctly configured server SHOULD reject messages that are not legitimate according to the sender’s domain stated policy.

                                                                                            Otherwise, a correctly configured server SHOULD accept messages that a human would never consider spam. The problem is that certain servers are doing it all the time, and are not always sending DMARC reports back.

                                                                                            And GMail is the single biggest offender there. If I have a false positive problem with someone, it’s almost invariably GMail, with few if any exceptions.

                                                                                            Whether it’s a cockup or a conspiracy is debatable, but the point remains.

                                                                                          2. 2

                                                                                            We’re not going to kill GMail. Let’s be realistic, here. Hotmail is still alive and healthy, after all.

                                                                                            Anyone who switches to Fastmail or ProtonMail helps establish one more player in addition to GMail, not instead of it. That, of course, can only be a good thing.

                                                                                            1. 1

                                                                                              Just to bring in one alternative service (since you are right, most people here seem to advice Fastmail, Protonmail): I found mailbox.org one day. No experience with them though.

                                                                                            2. 1

                                                                                              I still get the occasional newsletter on the old address, but that’s about it.

                                                                                              Once you moved most things over, consider adding a filter on your new account to move the forwarded mails to a separate folder. that way it becomes immediately clear what fell through the cracks.

                                                                                              1. 1

                                                                                                Sorry, I wasn’t clear. E-mails sent to the old address are forwarded to the new one and then deleted from the GMail account. When that happens I just unsubscribe, delete the e-mail and move on. It really does tend to only be newsletters.

                                                                                                I suppose one caveat to my approach and the reason this worked so well for me is that I had already been using my non-gmail address for a few years prior to making the change so everyone I need to interact with already knows to contact me using the right address.