1.  

    I keep one eye on Go in case it starts to look like a fun language to work with, but this seems quite awkward and not too easy to read, which is disappointing seeing as readability was one of Google’s design goals.

    Recently I’ve found that languages with pattern matching make this kind of dynamic parsing as pleasant as I’ve ever experienced. Example:

    defmodule TagParser do
      def parse(%{"id" => id, "name" => name, "created_at" => created_at}),
        do: %Tag{id: id, name: name, created_at: created_at}
    
      def parse([x]), do: parse(x)
      def parse([x | xs]), do: [parse(x) | parse(xs)]
    
      def parse(s), do: Poison.decode!(s) |> parse
    end
    

    If you aren’t familiar with pattern matching (and pattern matching in function arguments), this does the following:

    1. The input string won’t match the dictionary in the first parse method, or the arrays in the next two, so is picked up by the last, which uses the Poison JSON library to decode, then passes to parse again.
    2. This time we might have a single Javascript object, so we match the fields we’re interested in and create the Tag struct we wanted - all done.
    3. If not, we have an array of Tags, so we (recursively) call parse on this, with the first version of parse being called on any single Tag objects and the array version being called where we still have an array. If you’re not a fan of recursion in your code, you can call Enum.map instead.

    C# is also evolving to have useful pattern matching, so I’m hoping it’ll become common in the well-known programming languages soon.

    1. 11

      I really like parts of this, and the structure of “problem, solution, how it turned into a strength” is really cool. I’d like to hear more about the interpersonal issues related to ASD the author or others may have experienced and how they navigated that.

      1. 8

        The fun part is I’m talking to several others in the industry on the neurodiverse spectrum about writing similar posts to try and give a wider view of how more senior engineers work with that.

        Perhaps amusingly I don’t have many issues with being social or a lot of the faux pas that seem to be associated with aspergers, well, at least not where I’m currently at. Years ago maybe, but as of recently I’ve been able to adapt pretty well. I’ll have to do a followup on that some time later.

        Feel free to ask whatever though in the mean time here or over on Twitter @keystonelemur, I’ll answer both.

        1. 2

          I think the social issues are a bit more nuanced than ‘is social’ vs ‘is not’. Also I think age and experience help everyone with social skills (as long as they are getting practice and working to get better) so that means on the non-neurotypical spectrum too. ‘Just get older’ doesn’t feel like the best advice though!

          1. 3

            It doesn’t, and there’s certainly more to it than that, hence the mention of a followup some time later to explain some more concrete steps about what I did. While age and experience do help they won’t have nearly the effect they could have with more deliberate practice, observance, and introspection.

            Take for instance that I play guitar. I’ve been doing that for some 15 or more years. By time and age I should be incredible, but considering I’ve more of dabbled instead of putting in serious dedicated practice under mentors and by myself I’m no where near where I could have been had I done those things. Same with social skills I figure, time helps but that’s one factor among many.

            1. 2

              Some of the perceived change could come for shifts in one’s social group, too. It’s my understanding that people on the spectrum (likely myself included) aren’t “anti-social” so much as wired to socialize in a different way than neurotypical people. It certainly feels like I have an easier time socializing among groups of autistic people (regardless of shared interests) more so than other social groups.

              It may be a lack of autistic peers that constrains one’s success with socializing more than the neurodivergence itself, not unlike being the only expat among a group of locals.

        1. 6

          You can check if your MacBook is performing thermal throttling like this:

          pmset -g thermlog

          Leave it running for a bit while you work and if throttling is happening you’ll see more messages appear. The first one appears to be a lie.

          My MacBook Pro 15” 2015 was throttling on a hot day last week and at times was running at 20% max processor speed.

          With the anti-bad-stuff software I’m obliged to run on this company laptop, this left less than zero cycles for anything else. This meant missing keystrokes, several minutes (!) to launch an app (like Terminal) and some subsystems not starting up (like WiFi).

          There were only two solutions that worked: Hold the laptop directly in front of the air con vent, or move to a different room with a lower temperature.

          I tried pointing a massive fan at it but this didn’t seem to bring the temperature down enough.

          Any other ideas appreciated! (Dust level inside is low)

          1. 3

            Try replacing the thermal paste it can dry out and conducts far less heat.

            1. 3

              Definitely try cleaning off & repasting the CPU. It’s not too hard to get to: https://www.ifixit.com/Guide/MacBook+Pro+15-Inch+Retina+Display+Mid+2015+Heat+Sink+Replacement/55922

            1. 1

              Fun presentation and interesting facts along with the basic answer to make them more interesting and informative. I love it.

              1. 4

                It’s interesting that the type information is to be kept in a kind of ‘signature’ file, separate from .rb code files. I wonder why they’re not allowing it alongside existing code. Perhaps it can’t be done in a backwards-compatible way - or a non-messy way?

                Elixir allows adding ‘typespecs’ above function definitions like this:

                @spec path_clear_between?(intvec2d, intvec2d, MapSet.t(intvec2d), number) :: boolean
                def path_clear_between?(a, b, others, epsilon),
                  do: # Implementation goes here
                

                Having the types specified in this way does work, but it’s a bit of a trade-off. Elixir code often looks like this:

                def to_360(a) when a < 0, do: 360 + a
                def to_360(a), do: a
                

                Or this:

                defp combinations(_, 0), do: [[]]
                defp combinations([], _), do: []
                

                … where the choice of which function is called happens at runtime based on guards (first example) and/or pattern matching the arguments.

                Ruby doesn’t have a mechanism like this (as far as I’m aware) or overloading (dynamic despatch based on type) so it would make more sense for arguments to have their types specified ‘inline’ - as shown in the example .rbs file.

                Perhaps if the .rbs idea works, the next step could be to make the Ruby interpreter(s) allow an inline syntax?

                1. 2

                  I pitched the idea of a separate file a long time ago. ( https://www.artima.com/forums/flat.jsp?forum=106&thread=155960 ).

                  The idea was to maximize flexibility and decouple the code from the typing. They must have been thinking along those lines given their support for interface types and what they call non-uniformity.

                  The nice thing is that what they have described looks forward-compatible with adding the type specs to the Ruby source eventually. On that day, there will likely be a tool to collapse .rbs types into class, field, and method definitions in .rb files.

                  1. 4

                    That’s also what we do in CHICKEN; there’s inline syntax for types which gets used when compiling just that module, but the types then are exported into a “types database” file which gets consulted when compiling other code which uses the module.

                    It is also possible to supply a manually-written types file, which gets used when compiling other code against the module it corresponds to.

                1. 2

                  Actually using one. I started coding where there was no such thing. Then the only option was gdb and I was using C++ on Linux. So there may as well have been no such thing.

                  Then I used VB6 and you could see exactly what was going on and make tweaks at runtime. A revelation! Similar with .NET, though mods at runtime hardly ever worked - not sure why they seemed to be disabled every time I went to try.

                  I started using OzCode though, which was amazing. If you write C#, check it out. Searching through data in a large data structure in RAM and flagging what you want to be shown to you as you step through… it’s the sort of thing that feels like it should be part of the IDE, like ReSharper does (and kind of is now).

                  1. 1

                    I just installed OzCode to help debug our bug generator err report generator code that is thousands of lines of EF and Linq. It’s a nightmare.

                    OzCode seems solid, ReSharper less so. I’ve had a ReSharper license forever but it makes VS almost unusable.

                    1. 1

                      I’ve had varying levels of ‘success’ with ReSharper. When it plays nicely and doesn’t grind things to a halt, it feels like I have some minor superpowers.

                      Yes OzCode brings the ability to debug to code using LINQ. The laziness and magic of LINQ plus EF can become a nightmare pretty quickly.

                  1. 9

                    One of my favorite Vim books is still Drew Neil’s Practical Vim. That book is a great read and it changed how I use Vim. I’ve bought it for a lot of my co workers.

                    1. 7

                      Author of screencast here. Cannot agree more about Practical Vim being the best resource out there. I’m such a fan that when he was in town I booked a day of Vim training with him.

                      1. 2

                        I need to go back to it I think. I am not very smart and forget stuff that I don’t use, but that book was jam packed with handy hints.

                        1. 4

                          (Author here) The key factor, for me, in improving my Vim ability was to create a dotfiles README where I documented everything I learned and referred back to it again and again until the commands were seared into my fingers.

                          1. 3

                            I think this applies to almost everyone; there’s actually a bunch of things in Vim that I know exist, but don’t really use much anyway.

                            For example to select an entire { .. } block you can use va{V, but generally I’ll just manually go to one of the brackets (e.g. with [[, [{, {, or just moving the cursor) and use V%. This is rarely faster, but I got in the habit of doing it like that years ago before I really knew about text objects and such, and now I’m kinda stuck with it 😅

                            I’m mostly okay with this, since I try to optimize for cognitive load rather than absolute speed, and manually moving the cursor tends to be a bit better for that since I don’t need to think so much about what it’s going to select.

                            1. 3

                              I believe one of the greatest aspects of the design of Vim is that you can choose your own tools and level of usage of more ‘advanced’ techniques.

                              Over the years I have slowly added more and more tools to my belt - progressively enhancing, but never needing to, only choosing to when it suited me.

                              For example, it was about ten years before I started using macros. Perhaps another ten before I started moving by searching. Maybe in another ten I’ll use buffers rather than opening an editor for one file, closing it - and opening another later. I use the shell to drive, but I know I can get more of an IDE experience if I ever want to.

                              I don’t think I’d seen the ‘args’ feature before today. When I’ve done multi file edits in the past I’ve passed the names on the command line and done a ‘:n’ to move to the next file at the end of my macro (apologies if that’s wrong - I don’t do it often enough to remember).

                        1. 4

                          Safe, yes, but I don’t think the widespread use of syntactic elements like !, | and & is beautiful.

                          1. 6

                            Rust beauty is about making hardware do exactly what you want, and not about expressing mathematicalish abstractions as crisply as you want. Both kinds of beauties are valid, but the second one is just not a goal of Rust.

                            Rust is relatively sigil-heavy, because it needs to express distinction between owned, shared and exclusive access, which for a higher level language all are just values.

                            Of course it would be better if we could have both, but it doesn’t seem possible with our current level of programming language technology.

                            1. 1

                              I don’t know exactly what xyproto was thinking would be better, but perhaps words over symbols?

                              It looks quite like a lot of ‘line noise’ to me too, but I think that’s just because I’ve not been immersed in Rust. I thought the same about Elixir until I’d used it for a couple of months.

                          1. 4

                            The devil in me wants to ask what the “one line” means in this context, as they are longer than that.

                            But all really cool things I should be using.

                            1. 4

                              I think it refers to the yellow-highlighted line in each example, that’s doing the work to build that particular type of layout.

                            1. 15

                              “ If we try to contact a customer using their iCloud email address, they may never see our message”

                              Then give them an option to provide an email address that you may contact them at, should they wish to be contacted by email.

                              Sign In with Apple is there so that services can maintain a link to a person over multiple sessions. This doesn’t have to have anything to do with email, and the assumption that an email address will be available for contact is one that should be broken - and thankfully is.

                              I have ‘accounts’ for countless services, websites, etc. all over the web, but really do not trust any of them to keep my personal information secure, including my password. When Google claimed to do no evil, I would sign in using Google, to avoid this problem, but more recently I’ve been handing over passwords again, like it’s the early 2000s, and at least resting a bit easier due to them being per-service, generated by my password manager.

                              Yes customers not knowing what they signed in with can be a support headache. But this is about better security and privacy for those signing up to such services (and possibly also an overreach by Apple, depending how you view it).

                              As a potential user/member/customer of whatever this service is, do I trust you or Apple with the security of my credentials and privacy of my personal information?

                              1. 7

                                Actually, Sign in with Apple asks the user which email to use. They can choose between their iCloud and an anonymised address. There is (or will be in iOS14 - I can’t remember) also a flow to change the address from an anonymous to a real one.

                                1. 3

                                  True, but just the option of using a relay address means

                                  the assumption that an email address will be available for contact

                                  is no longer something an app developer can take for granted under third party auth.

                                2. 3

                                  Then give them an option to provide an email address that you may contact them at, should they wish to be contacted by email.

                                  I think that doesn’t work. They will not use this extra step, even if they would benefit from it later. I would argue if you do not want to share your email address with anylist, you probably should not use it.

                                  I already see with smart, non - IT friends that they do not really think about the implications of their sign in method. I think what matters most is what the default is. People will use that.

                                1. 3

                                  How to Ctrl, Alt, Esc, Shift?

                                  1. 2

                                    Tap and hold. Some keys change behaviour whether they are used in a combination or alone. For example A on hold works like LShift and ; works as RShift on hold.

                                    1. 3

                                      So to type a capital A I would hold ; and press A?

                                      1. 3

                                        Exactly. I have slightly bigger keyboard (48 keys) and for example I use space as both - Space on tap and AltGr on hold.

                                  1. 1

                                    I don’t have time to watch the video but I saw what looks like a link to a repository on GitHub https://github.com/DanielBMarkham/LeanPubX

                                    When clicking it there is a modal pop up which asks me to sign up or log in to the website. I can’t actually visit the link by clicking it on the site.

                                    Sorry for the moan but I think this kind of behaviour needs pointing out.

                                    1. 1

                                      I just went in incognito from here to the site and then watched the video, no problems. No modals.

                                    1. 1

                                      I worked on a particular well known UNIX desktop environment for a few years, starting out writing a utility and a game, neither of which were great, but then learning the ropes a bit and starting to contribute to core utilities and libraries.

                                      After a few years I started to respond when companies asked around for developers with experience with the toolkit. I got into contract work and had some fun working on cool apps and tech.

                                      I was working entirely from home for about fifteen years. At one point, I needed work and there was nothing immediately available, so I took a local job in an office with very different tech, starting ‘at the bottom’. It turned out to be a great learning experience though, so I stuck with it and forged a different path.

                                      1. 4

                                        These machines trigger some nostalgia for me. We had a bunch of them and SPARCStation 2s in the computer society’s room when I started as an undergrad. Engineering had given them to us as a cheaper alternative than a skip. We used them as dumb X servers, connected to a PC (a 133MHz Pentium, as I recall) running Linux.

                                        I’m not sure if it’s still true, but back then Linux didn’t correctly use the tagged TLB on SPARC, so every context switch was a full TLB shoot-down. NetBSD was around 50% faster. My housemates salvaged a bunch of them when the computer society threw them out. One of them also bought an analogue telephone switch from eBay so we all had a landline phone (with intercom functionality) in our rooms. The switch logged the calls to the serial port, so we could see who made which calls and figure out who owed what on the phone bill at the end of each month. We had an IPX in the corner of the landing recording this and displaying it on a VT100 (yes, a real one - one of my housemates really liked picking up old hardware).

                                        In spite of that, I’m very glad not to ever have to deal with those machines again. In addition to being painfully slow even by the standards of 15 years ago, they had weird proprietary everything. They had a non-standard display interface, which drove displays at non-standard resolutions and refresh rates, which X.org hated. They had an Apple-like floppy disk drive with no hardware eject button (that was fun - people would put floppy disks in the machines in the computer society room and then need to find an admin with root access who could eject them). The NIC used an incredibly expensive external transceiver. If ever there were machines I’d be happy to see die, these 32-bit SPARCs were near the top of the list.

                                        These were from near the start of Sun in full-on price gouging mode. A little bit later, high-end graphics card makers sold two variants of their cards. One with a tiny ROM as a PC BIOS extension. The other with a larger ROM (or, often, EEPROM) containing OpenFirmware code. The second variant was more expensive because it had a larger ROM and was a smaller market. Sun workstation owners would typically buy these cards from Apple, because Apple’s hugely inflated margins made the cards around a third of the price of the exact same hardware with a Sun sticker on it. Larry Ellison probably felt this fitted very well with Oracle’s customer model.

                                        1. 1

                                          Larry Ellison probably felt this fitted very well with Oracle’s customer model

                                          lol

                                          1. 1

                                            I was given one by a colleague in 1998, as he had heard me reminiscing about OpenLook and how I had loved the look and feel of these old Sun machines.

                                            I had to buy a ridiculously expensive proprietary monitor cable to get to to work. When it did, it was incredibly slow.

                                            My previous experience had been at university, where hardly anything was run locally - we ran nearly everything off the significantly faster Solaris servers.

                                            1. 1

                                              problem was that the serial ports on these used the NeXT / Apple style din plug plugs so if you wanted to run them headless and the machine had to be setup, you’d have to get yet another cable. The lunch boxes look very cool fully stacked with many peripherals, if you liked stack hi-fi :)

                                          1. 1

                                            I’d recommend having a look at the code here. It’s a nice example of a simple scanner, parser and evaluator in JavaScript without any dependencies. Very readable.

                                            1. 2

                                              HTML has occasionally headed slightly towards what I’d like to see in a language for document reading. The word ‘document’ is key here. I wrote my undergraduate dissertation in HTML 3-ish, using only elements like p, dd, h1, img etc.

                                              What I found missing at the time were two features:

                                              1. The ability to strictly validate my document. XHTML promised this - but wasn’t practical for browsers or web apps given their focus.

                                              2. The ability for me to more richly mark up my document. HTML 5 brings section, aside etc.

                                              I used to build my personal site by processing XHTML with some added ‘tags’ - I added them to a local copy of the XHTML schema and used code to turn them into standard XHTML with classes for CSS to mark up.

                                              I’d like to see a new SGML dialect, though another base would be fine, if we could find one that works, which heads in the direction of making a read-only, non-interactive, easy-to-lay-out (e.g. img sizes mandatory, fixed set of fonts available, no ‘font’ tag or CSS) language.

                                              To get half way there we already have the basis for this:

                                              • A language like XHTML with some ‘tags’ removed and some added. No more script but added section, for example. None of the unnecessary parts of XML either - e.g. no ‘CDATA’. I’d be tempted to make it very incompatible with XML to avoid the temptation to use an XML parser. For example making closing tags required but they must be <> or </> or something else different.

                                              • Not XML - a different doctype and mime type.

                                              • No CSS - rendering entirely up to the user-agent (which becomes a user agent again!)

                                              The one other issue I had while writing a (very) large document in HTML was that keeping track of it was tricky. I used indentation (by heading level) to help with this, but after scrolling, I was just 4 levels to the right with no way to see which section / heading I was in. Maybe editor support could help with this. I know outlining is great for larger documents. I don’t have a right answer - keeping zero indent doesn’t work well either as you still don’t know where you are.

                                              1. 4

                                                4k monitor only makes sense with 2× / 200% scaling

                                                Yep. Can’t stress enough how non-integer scaling is a bad idea.

                                                1. 2

                                                  This is subjective. I use a 27” 4K display at 1.5 and it’s fine. I can’t see pixels from the distance I’m standing away so it looks sharp to me.

                                                  1. 1

                                                    Similarly, I can’t stress enough, how much assuming everyone else’s priorities are the same as yours, is a bad idea.

                                                  1. 3

                                                    Regarding differences in working setup and environment, I think about three factors:

                                                    • You notice
                                                    • You care
                                                    • You are affected positively or negatively (we can ignore neutral effects)

                                                    Taking monitors as example, here are some examples to show why I make this split:

                                                    • You may notice the viewing angles of your monitor aren’t great, but not care. Whether you’re affected or not
                                                    • You may care about monitor refresh rate, but never actually notice. I’ve seen people report that they were loving 120Hz, but realised after months that they’d actually been running at 60.
                                                    • It took me years to notice that I could see flicker from CRT monitors with refresh rates below 72Hz. Eventually I realised this was correlated with headaches. With appropriate refresh rate my headaches were significantly reduced.

                                                    Monitors can get extremely expensive, so please try them out before committing to buying, if you can. Some people may be just fine with a single 30Hz 1280x1024 TN panel, while others may find they are 100% more productive, healthy and happy only with 6 32” 5k 120Hz IPS HDR panels.

                                                    1. 3

                                                      My use cases for Dropbox, in descending order of importance:

                                                      1. To ensure photos gets onto the machine which does backups.
                                                      2. To ensure that photos I take are visible to my partner, and likewise, with zero effort. They like to have a look at what I’ve taken recently because it’s fun. I only send photos directly when they are especially I think they will find them especially interesting / amusing.
                                                      3. To make files available on one device that I have on another.
                                                      4. To share large files with people, such as family and friends. Videos, etc.

                                                      Syncthing looks great for 3. but I don’t know of a better alternative for 1, 2 or 4, unfortunately.

                                                      There are plenty of photo sharing alternatives, but I want my photos to be backed up to several places (you know, actual backups, where you keep every states of the archive over time so that even if you accidentally move / delete / corrupt then you can go back).

                                                      There are large file sharing services but they don’t seem as under my control or permanent. I don’t do this enough to care much though.

                                                      1. 1

                                                        I think nextcloud can be used for the rest, but I’m not entirely happy with the code quality of nextcloud. They seem to be chasing features.

                                                        1. 1

                                                          My use cases for Dropbox are similar to yours, with the addition of Dropbox’s “smart sync”. My laptops have tiny hard drives, whereas my Dropbox is almost two terabytes. Tbh could be that Syncthing has a similar feature, I know at least Resilio Sync does.

                                                        1. 7

                                                          do you reckon you will still be able to buy a non-smart fridge in the near future?

                                                          i was quite dismayed last time i tried to find a new non-smart TV.

                                                          1. 9

                                                            No, I don’t we will be able to. The margins on consumer electronics are so thin that the temptation to add “after market” sales in the form of DRM-protected consumables and ad-tracking is almost overwhelming.

                                                            The products without these “features” will be priced at a premium.

                                                            As Izabella Kaminski at the Financial Times speculated, in the future privacy will be reserved for the rich…

                                                            1. 7

                                                              What made me giggle was this:

                                                              freedom sucking, major appliance disabling, communist, 1984-esque idea

                                                              More like peak capitalism.

                                                              1. 6

                                                                Part of the problem is that people expects things to be as cheap as possible.

                                                                I hear a lot of people complaining that their new washing machine doesn’t last as much as “the old ones” used to.

                                                                But when you tell those same people to buy a washing machine from a reputable brand like Siemens or Miele, they’ll tell you that 400-600 EUR for a washing machine is way too much when they can buy one for 200.

                                                                1. 6

                                                                  In a way it’s almost like a rent-to-buy scheme; you pay less up front, but take it in the shorts in the long term. Some of the more obnoxious versions of this wind up with an actual cost hundreds of times the up-front purchase price.

                                                                  This seems like a self-correcting issue, though, provided all concerned are transparent about the real cost.

                                                                  And that’s the rub: people who buy the “cheap” DRM appliances aren’t being informed of the real costs.

                                                                  Perhaps that’s the solution? Make retailers and manufacturers disclose, in advance, whether they employ such practices.

                                                                  1. 3

                                                                    And that’s the rub: people who buy the “cheap” DRM appliances aren’t being informed of the real costs.

                                                                    Perhaps that’s the solution? Make retailers and manufacturers disclose, in advance, whether they employ such practices.

                                                                    But that doesn’t solve the other problem of planned obsolescence. To me the solution should just be mandatory minimum lengths of warranties on appliances. Appliances should last 20 years by law.

                                                                    1. 4

                                                                      I sure as hell wouldn’t want to keep any appliance I own for 20 years. Or pay for one that lasted that long.

                                                                      Why not just make manufacturers and retailers disclose MTBF? (That said, you can make a pretty well-educated guess by looking at warranty periods).

                                                                      1. 6

                                                                        You don’t need to keep them for 20 years. You can sell them to someone else that will use them that doesn’t have the ability to be a frivolous consumer.

                                                                        1. 4

                                                                          But ultimately, I’m still paying for a gold-plated fridge, because you consider buying appliances at a rate of more than one per twenty years to be frivolous.

                                                                          Why not leave the choice in the hands of the person spending their money, and merely require manufacturers and retailers to provide the information necessary to make that choice an informed one?

                                                                          1. 5

                                                                            Because you choosing to replace your fridge every couple of years (and no, I refuse to accept it’s ‘gold plated’ for something to last the reasonable amount of time they’ve been generally expected to last for decades upon decades upon decades) costs everyone environmentally.

                                                                            Why not leave the choice in the hands of the person spending their money, and merely require manufacturers and retailers to provide the information necessary to make that choice an informed one?

                                                                            Why would they give us the option if they have a choice, when they can just only offer ones that will break in 5 years like they do today?

                                                                            1. 3

                                                                              My current fridge is running very well, and is significantly older than five years. It did cost more than a cheap model, too. These things are as I’d expect.

                                                                              Regarding the environmental cost, there are much better ways to achieve this than dictating how many years a given appliance should last for (and thus giving the shaft to poor people along the way). For instance, requiring the recycling / landfill / whatever costs of the appliance to be paid up-front and factored into the sale price.

                                                                              1. 3

                                                                                Requiring appliances to last 20 years does not shaft the poor. Quite the opposite in fact, because the cheapest appliances wouldn’t only last a couple of years. The current system means the poor buy crap and have to replace it constantly while the rich get to but stuff that lasts and spend much less in the long run.

                                                                                1. 1

                                                                                  So how would you determine exactly how long is a reasonable MTBF?

                                                                                  (In other words, how would you avoid falling into this hole: https://en.wikipedia.org/wiki/Economic_calculation_problem)

                                                                                  1. 1
                                                                                    1. 1

                                                                                      Sure, but they base their expectations on typical lifetimes. And courts have (correctly) upheld implicit contracts, especially in the case of goods that are advertised as premium. In Australia, doing that will limit your ability to contract out of warranties.

                                                                                      But what’s being proposed here is a massive market intervention, to increase the expected lifespans of certain goods (which ones? again, the same problem) by an order of magnitude.

                                                                                      1. 3

                                                                                        I don’t think that a 20 year lifespan on appliances is actually an order of magnitude increase. When I was a child we had the same washing machine, dishwasher, clothes dryer, microwave etc. that my parents got as wedding presents or bought in their first couple of years together until my late teens or early 20s. That wasn’t unusual either, none of my friends were getting new dishwashers or washing machines every few years.

                                                                                        1. 1

                                                                                          But what’s being proposed here is a massive market intervention, to increase the expected lifespans of certain goods (which ones? again, the same problem) by an order of magnitude.

                                                                                          yes… and what’s the problem with that? you don’t think it’s possible to come up with a common sense amount of time that certain types of appliances should last?

                                                                                          1. 1

                                                                                            No, I think that’s quite reasonable. In fact the courts do that on a regular basis, when deciding on warranty issues.

                                                                                            What I think is unreasonable is for the State to enforce same. Price / quality should be a private matter between manufacturer, buyer, and seller.

                                                                                            Right now, that ratio is often obfuscated, which I think is wrong.

                                                                                            1. 1

                                                                                              why is it unreasonable?

                                                                                              1. 1

                                                                                                Quick summary: I think the Austrian school is pretty much right about economics, and think that laissez-faire capitalism is the best model for trade. We may be operating from very different premises.

                                                                                                Edited: “Austrians emphasize private property, entrepreneurship, free markets, and sound money as the key drivers of economic performance.” is a good summary, from https://mises.org/austrian-economics.

                                                                                                Thus I think it’s entirely reasonable to pass laws requiring manufacturers to inform consumers of likely lifetimes, DRM costs, etc. But the ultimate choice should remain with manufactuers and their customers.

                                                                                  2. 2

                                                                                    Regarding the environmental cost, there are much better ways to achieve this than dictating how many years a given appliance should last for (and thus giving the shaft to poor people along the way). For instance, requiring the recycling / landfill / whatever costs of the appliance to be paid up-front and factored into the sale price.

                                                                                    I like the idea of forcing companies to pay the disposal costs of the products they sell. However, I don’t see how it would shaft poor people any less than the longevity idea. Supposing a fridge costs £100 to dispose of properly. Instead of offering (for example) fridges at £100, £400 and £800, which are built to last 2, 5 and 10 years respectively, you’re now offering fridges at £200, £500 and £900. If you are poor, you are still going to get the cheapest fridge, you just end up paying twice as much for 10 years of owning a fridge. The result is that while in theory we’ve now paid to dispose of the broken fridges safely, there’s no incentive to design or buy less wasteful fridges in the first place, and the cost has been shouldered by the poor, not the companies producing crap fridges.

                                                                                    1. 1

                                                                                      Regarding the environmental cost, there are much better ways to achieve this than dictating how many years a given appliance should last for (and thus giving the shaft to poor people along the way). For instance, requiring the recycling / landfill / whatever costs of the appliance to be paid up-front and factored into the sale price.

                                                                                      the danger there is that it is more complex, thus increasing the cost of enforcement and the likelihood that companies can find a way to game the system.

                                                                                  3. 2

                                                                                    Because this civilization won’t be around for much longer if you keep doing this, Karen. :-)

                                                                                    1. 1

                                                                                      But ultimately, I’m still paying for a gold-plated fridge, because you consider buying appliances at a rate of more than one per twenty years to be frivolous.

                                                                                      Why not leave the choice in the hands of the person spending their money, and merely require manufacturers and retailers to provide the information necessary to make that choice an informed one?

                                                                                      it’s not /u/mrr’s decision vs. the consumer’s decision, it’s society’s somewhat-democratic decision vs. the decision of the appliance manufacturers.

                                                                              2. 1

                                                                                I’m not sure that strategy would work with the people that don’t already care (which unfortunately, I think it’s the vast majority):

                                                                                See what’s happening with the GDPR banners. Most people will just press “accept” to get the annoying thing out of the way. The kind of people that are concerned in accepting those banners are the same people that were already aware of the malpractices of adware on the web.

                                                                                I think that if appliance manufactures were forced to disclose those practices, most people will still buy that appliance because it’s cheaper than an equivalent one that doesn’t employ those practices.

                                                                                1. 7

                                                                                  GDPR is no only a banner (btw. you are talking about cookie consent I think) It gives you rights that did not exist before. I utilised my new powers successfully to force companies to close my accounts, delete my data etc. This could not have been possible before GDPR. You can also check out how many companies got fined for GDPR violations. I think privacy mandating laws work and we need more. We have to force the surveillance capitalist companies to do reasonable things. I could not give two shits if they were using anonym data collection instead of identity based ones. The machine learning models do not care about who you actually are, so there is no point. Yet, this is exactly what Facebook/Google does.

                                                                                  1. 3

                                                                                    So … shouldn’t that be their choice?

                                                                                    1. 4

                                                                                      See what’s happening with the GDPR banners. Most people will just press “accept” to get the annoying thing out of the way

                                                                                      Pro tip: The banner goes away even faster if you close the tab.

                                                                                  2. 2

                                                                                    Another problem, i think, is the fact that many people have to make short-term decisions regarding to their money due to stagnating wages and general financial inequality. Sure, buying a washing machine for 400-600 EUR might be more sensible in the long run, but buying an appliance for 200 EUR also means to be able to put food on the table. Something that might be harder if you are buying the expensive stuff.

                                                                                  3. 3

                                                                                    You are assuming static market situation. A single privacy aware government can change that. Just like the great firewall in China you can have a great privacy firewall of the EU and disable connectivity to privacy invading surveillance capitalist companies. This would force the market back to reasonable directions. I hope that this is coming.

                                                                                    1. 1

                                                                                      I hope so too. I also believe like you that legislation is needed to make the externalities of privacy visible to the private sector. In the meantime, posts like this can raise awareness. I hope trusted tech review sites also get in on the action and explicitely raise risks associated with these practices.

                                                                                      1. 1

                                                                                        Just like the great firewall in China you can have a great privacy firewall of the EU and disable connectivity to privacy invading surveillance capitalist companies.

                                                                                        I often daydream about this but how could this be implemented in reality? Block Google and you block 90% of the EU’s email accounts. Block that one privacy-violating that is hosted on AWS/Cloudflare and you block 90% of the websites people are used to using. It doesn’t really seem to be feasible in real life.

                                                                                        1. 1

                                                                                          I often daydream about this

                                                                                          Yes me too! :)

                                                                                          I was thinking, gradually. First you introduce funding companies in the EU that offer alternatives, set up 1 click migrations. Business models are a big question. Many kind of services are impossible to implement an alternative to, because Google is funding the operation by the ad money. This is the hardest challenge. It is not a problem for the companies but for the individuals who are using @$googledomain emails.

                                                                                          After that, 1% packet drop on Google/Facebook IP ranges which increases gradually to 100% over a year. No pain no gain! :)

                                                                                          I think China proved that you can roll with your own services if you ban the US adtech companies. The EU should do the same.

                                                                                          1. 1

                                                                                            I think China proved that you can roll with your own services if you ban the US adtech companies.

                                                                                            I believe this is only true if your population doesn’t depend on these services. The EU and US could easily ban WeChat tomorrow without a problem, because WeChat doesn’t have that many users in the EU/US. China couldn’t ban WeChat even if it was an american product as WeChat is so ingrained in every facet of the chinese population’s digital life.

                                                                                            1. 1

                                                                                              Right. Isn’t there even more incentive to have an EU equivalent of service in that case?

                                                                                    2. 3

                                                                                      Most of the profit in TVs is the advertising tie-in, but it’ll be a long time before you can’t plug in a 3rd party set-top-box.

                                                                                      1. 5

                                                                                        yeah but i’m bugged by the delay in basic input functions as a result of running everything through a slow computer

                                                                                        1. 1

                                                                                          Smart TV interfaces are horrible, yes. We tried a Virgin Media box (even slower!), a ChromeCast (almost possible to live with) and an XBox One. Those have been left to gather dust / disposed of in favour of an Apple TV box, which is nippy and works well.

                                                                                          1. 1

                                                                                            so what do you do about the TV itself? it has a slow interface but don’t have to deal with it because you leave it set to the Apple TV?

                                                                                            1. 1

                                                                                              Yep. The TV takes about 30 seconds to switch on, but after that it’s just set to the Apple TV and it’s great. It even goes onto standby itself … and I press the Apple TV remote Home button to make it come back - which is pretty much instant. It means I can ignore the TV’s own useless stuff.

                                                                                      2. 1

                                                                                        We need a new to create a new brand of dump devices. The gist of the TVs are the screens which you can purchase from the vendors producing it directly. Once you have that we need a factory that can assemble + package a customer ready version. An average customer buys TVs every 5 years or so. You can calculate the price based on that. There is no need for any smart feature you can use your favourite platform and have a HDMI or similar port only. This is exactly how I use my dumb TV.

                                                                                        https://www.philips.hu/c-p/55PUH4900_88/4900-series-4k-uhd-slim-led-tv-pixel-plus-ultra-hd-vel

                                                                                        1. 2

                                                                                          are you tellin me that Philips 55PUH4900/88 is non-smart?

                                                                                          1. 1

                                                                                            As dumb as I could get. There is certainly something running on it that lets you select the HDMI inputs but it has no built in smart features like Cromecast. It is also very low latency which makes me believe it does not have much running.

                                                                                            1. 2

                                                                                              oh cool that’s good to know. any animations or semi-transparency in the volume and channel indicators?

                                                                                              1. 1

                                                                                                No animations and I do not think there is semi-transparency for the volume indicator.

                                                                                                1. 1

                                                                                                  wow almost too good to be true. maybe i will stock up if i can find one for a good price.

                                                                                                  1. 1

                                                                                                    Let me know if you need more I can check out the fw details