Threads for corytheboyd

    1.  

      Hah “vibe coding” is a great term, I was doing exactly that with copilot edits when I first realized what it was, and felt like I was having FUN with code for the first time in a long time! Garbage ultimately came out the other end, but it was just… fun, don’t know how else to describe it. Just like this article says, it was more about the journey, learning how to use this tool, than the output.

      1.  

        This looks like a solution looking for a problem. I’ve heard lots of things about grpc being absurdly complex. I think it’s cool, but I think I’ll stick with SSH. Thank you very much.

        1.  

          They said it pretty clearly

          This is a demo program to show how to use the gokrazy/rsync module over a gRPC transport.

          1.  

            Indeed :) The point is not to get anyone to use rsync over gRPC, but to demonstrate that if you are already working in a corporate (or similar) environment with a landscape of RPC services using gRPC, Thrift, etc., you can now also speak rsync protocol over those channels, if it helps your project.

          2.  

            Upstream SSH with the static buffers or hpn-ssh?

            I just use upstream and accept the inefficiency these days. But if I was doing more performance critical things, it would be an issue.

            1.  

              When scp is too slow, use qcp which is designed to do well with high-bandwidth high-latency lossy links.

          3. 3

            The type of person the author talks about exists I’m sure, but I think most of these people are just… tired. Again, I’m not trying to defend the bad ones, just throwing out some counter-examples for the ones who get caught up in it all.

            that engineer who guards the code against anyone else’s changes, wanting all the credit for themselves

            Maybe they were told to prevent all but the absolutely necessary changes by leadership, and are tired of constantly having to argue with other teams whose leaders told their engineers “this is top priority, it has to go in.” Neither side of engineers cares that much, it’s the leaders who don’t agree. They are tired.

            The part about “wanting all the credit” is unnecessary, and quite rude if the situation is more like what I said above. They may just be doing their exact jobs, too.

            that engineer who refuses to add anything else to their codebase, because they don’t want to maintain it

            Maybe it’s the situation above, the ancient massive core they have been told to keep running, which sprint-driven product teams are told by their leaders to go muck with. Maybe they are tired of code being merged that is abandoned as the authoring team is “on a new sprint” or “has new quarterly objectives” or whatever. It’s the authors who “don’t want to maintain it” in this case, but the old guard doesn’t want to either, because their objective was “prevent all but the most necessary changes” and they constantly have to break that. They are tired.

            that engineer who tries to gain code ownership over more areas, to control more of the code and more of the company

            Sure, this type of person probably exists. It’s also very likely one of the direct, measurable things considered for promotion, and… come on, it’s (likely) a for-profit software company, everyone should be going for promotion all the time. They want to retire sooner, because they are tired.

            To firmly reiterate, I’m just throwing some different viewpoints out there because it’s way too easy to jump on the strawman sometimes. Of course the jerks are out there too, but some of these people are just doing their job, and have different responsibilities than you do. When in doubt, approach them as humans who are tired first, instead of just assuming things about them.

            1.  

              All assumptions about internal state are on shaky ground IMO. Assuming tiredness is a little better than jealousy because it’s assuming good intent versus less-good, but it’s still an assumption. Analyzing external incentives, like you did, is probably the most productive way forward.

            2. 5

              It’s great to see Sidekiq still going strong after all these years! The iteration feature is really interesting, and I can think of many situations where it would have come in very handy but I had to reach for a more complicated solution. Don’t think I’ve seen that in similar libraries.

                1. 5

                  Every big Rails team I have worked on ends up building their own janky version of it (I’ve built a couple), very nice to have Sidekiq provide an implementation.

                2. 36

                  Even if half of the things I have heard about Brave are wrong, why even bother when so many other great, free alternatives exist. The first and last time I tried it was the home page ad fiasco… uninstalled and went back to Chrome.

                  These days I try to use Firefox, but escape hatch to Chrome when things don’t work. I know there are better alternatives to both Firefox and Chrome, I’ll start exploring them… maybe? It’s hard for me to care about them since most of them are just Chrome/Firefox anyway. I’ll definitely give Ladybird a go when it’s ready. On paper, at least, it sounds like the escape from Google/Mozilla that is desperately needed.

                  1. 11

                    Kagi bringing Orion to Linux feels promising. It’s OK on Mac, though after using it for 6 months I switched back to Safari. It looks like they’re using Webkit for that on Linux, not blink, which is a happy surprise IMO. That feels like a good development. (I’m also looking forward to Ladybird, though. Every so often I build myself a binary and kick the tires. Their progress feels simultaneously impossibly fast and excruciatingly slow.

                    1. 15

                      If I understand correctly, Orion is not open source. That feels like a huge step backward and not a solution to a browser being controlled by a company with user-hostile incentives. I think Ladybird is more in line with what we really need: a browser that isn’t a product but rather a public good that may be funded in part by corporations but isn’t strongly influenced by any one commercial entity.

                      1. 7
                        1. I believe they have stated that open sourcing is in the works1

                        2. Their business model is, at the minimum, less user hostile than others due to users paying them money directly to keep them alive.

                        Disclaimer: Paid Kagi user.

                        1. 5

                          they have stated that open sourcing is in the works

                          That help page has said Kagi is “working on it” since 2023-09 or earlier. Since Kagi hasn’t finished that work after 1.5 years, I don’t believe Kagi is actually working on open sourcing Orion.

                          1. 2

                            Their business model is, at the minimum, less user hostile than others due to users paying them money directly to keep them alive.

                            If US DoJ has their way, google won’t be able to fund chrome any more the way it was doing so far. That also means apple and firefox lose money too. So Kagi’s stuff might work out long term if breakup happens.

                          2. 4

                            That’s totally valid, and I’d strongly prefer to use an open source UA as well!

                            In the context of browsers, though, where almost all traffic comes from either webkit-based browsers (chiefly if not only Safari on Mac/iPad/iPhone), blink-based browsers (chrome/edge/vivaldi/opera/other even smaller ones) or gecko-based browsers (Firefox/LibreWolf/Waterfox/IceCat/Seamonkey/Zen/other even smaller ones) two things stand out to me:

                            1. Only the gecko-based ones are mostly FOSS.
                            2. One of the 3 engines is practically Apple-exclusive.

                            I thought that Orion moving Webkit into a Linux browser was a promising development just from an ecosystem diversity perspective. And I thought having a browser that’s not ad-funded on Linux (because even those FOSS ones are, indirectly ad-funded) was also a promising development.

                            I’d also be happier with a production ready Ladybird. But that doesn’t diminish the notion that, in my eye, a new option that’s not beholden to advertisers feels like a really good step.

                            1. 3

                              There are non-gecko pure FOSS browsers on Linux.

                              Of the blink-based pure FOSS browsers, I use Ungoogled Chromium, which tracks the Chromium project and removes all binary blobs and Google services. There is also Debian Chromium; Iridium; Falkon from KDE; and Qute (keyboard driven UI with vim-style key bindings). Probably many others.

                              The best Webkit based browser I’m aware of on Linux is Epiphany, aka Gnome Web. It has built-in ad blocking and “experimental” support for chrome/firefox extensions. A hypothetical Orion port to Linux would presumably have non-experimental extension support. (I found some browsers based on the deprecated QtWebKit, but these should not be used due to unfixed security flaws.)

                              1. 1

                                I wasn’t sure Ungoogled Chromium was fully FOSS, and I completely forgot about Debian Chromium. I tried to use Qute for a while and it was broken enough for me at the time that I assumed it was not actively developed.

                                When did Epiphany switch from Gecko to Webkit? Last time I was aware of what it used, it was like “Camino for Linux” and was good, but I still had it on the Gecko pile.

                                1. 2

                                  According to Wikipedia, Epiphany switched from Gecko to Webkit in 2008, because the Gecko API was too difficult to interface to / caused too much maintenance burden. Using Gecko as a library and wrapping your own UI around it is apparently quite different from soft forking the entire Firefox project and applying patches.

                                  Webkit.org endorses Epiphany as the Linux browser that uses Webkit.

                                  There used to be a QtWebKit wrapper in the Qt project, but it was abandoned in favour of QtWebEngine based on Blink. The QtWebEngine announcement in 2013 gives the rationale: https://www.qt.io/blog/2013/09/12/introducing-the-qt-webengine. At the time, the Qt project was doing all the work of making WebKit into a cross-platform API, and it was too much work. Google had recently forked Webkit to create Blink as a cross-platform library. Switching to Blink gave the Qt project better features and compatibility at a lower development cost.

                                  The FOSS world needs a high quality, cross-platform browser engine that you can wrap your own UI around. It seems that Blink is the best implementation of such a library. WebKit is focused on macOS and iOS, and Firefox develops Gecko as an internal API for Firefox.

                                  EDIT: I see that https://webkitgtk.org/ exists for the Gnome platform, and is reported to be easy to use.

                                  I see Servo as the future, since it is written in Rust, not C++, and since it is developed as a cross platform API, to which you must bring your own UI. There is also Ladybird, and it’s also cross-platform, but it’s written in C++, which is less popular for new projects, and its web engine is not developed as a separate project. Servo isn’t ready yet, but they project it will be ready this year: https://servo.org/blog/2025/02/19/this-month-in-servo/.

                                  1. 1

                                    I used to contribute to Camino on OS X, and I knew that most appetite for embedding gecko in anything that’s not firefox died a while back, about the time Mozilla deprecated the embedding library, but I’d lost track of Epiphany. As an aside: I’m still sorry that Mozilla deprecated the embedding interface for gecko, and I wish I could find a way to make it practical to maintain that. Embedded Gecko was really nice to work with in its time.

                                    The FOSS world needs a high quality, cross-platform browser engine that you can wrap your own UI around.

                                    I strongly agree with this. I’d really like a non-blink thing to be an option for this. Not because there’s anything wrong with blink, but because that feels like a rug pull waiting to happen. I like that servo update, and hope that the momentum holds.

                                  2. 1

                                    Wikipedia suggests the WebKit backend was added to Epiphany in 2007 and they removed the Gecko backend in 2009. Wow, time flies! GNOME Web is one I would like to try out more, if only because I enjoy GNOME and it seems to be a decent option for mobile Linux.

                          3. 9

                            I have not encountered any website that doesn’t work on firefox (one corporate app said it required Chrome for some undisclosed reason, but I changed the useragent and had no issue at all to use their sinple CRUD). What kind of issues do you find?

                            1. 4

                              I’ve wondered the same thing in these recent discussions. I’ve used Firefox exclusively at home for over 15 years, and I’ve used it at my different jobs as much as possible. While my last two employers had maybe one thing that only worked in IE or Chrome/Edge, everything else worked fine (and often better than my coworkers’ Chrome) in Firefox. At home, the last time I remember installing Chrome was to try some demo of Web MIDI before Firefox had support. That was probably five years ago, and I uninstalled Chrome after playing with the demo for a few minutes.

                              1. 3

                                I had to install Chromium a couple of times in the last years to join meetings and podcast recording that were done with software using Chrome-only API.

                                When it happens, I bless flattpak as I install Chromium then permanently delete it afterward without any trace on my system.

                                If you are an heavy user of such web apps, I guess that it makes sense to use Chrome as your main browser.

                                1. 2

                                  I can’t get launcher.keychron.com to work on LibreWolf but that’s pretty much it. I also have chrome just in case I’m too lazy to figure out what specifically is breaking a site

                                  1. 2

                                    launcher.keychron.com

                                    Firefox doesn’t support WebUSB, so that’s probably the issue.

                                    1. 1

                                      Thanks, yeah, that’s it. I knew it was some specific thing that wasn’t supported I just couldn’t remember and was writing that previous comment on my phone so I was too lazy to check. But yeah, it’s literally the only site I could think of that doesn’t work on Firefox (for me).

                                  2. 1

                                    It’s pretty rare to be fair, so much so that I don’t have an example of the top off my head. I know, classic internet comment un-cited source bullshit, sorry. It was probably awful gov or company intranet pages over the years.

                                    Some intensive browser based games run noticeably better on Chrome too, but I know this isn’t exactly a common use case for browsers that others care about.

                                    Probably not a satisfying reply, apologies.

                                    1. 1

                                      For some reason, trying to log in to the CRA (Canadian equivalent of the IRS) always fails for me with firefox and I need to use chrome to pay my taxes.

                                      1. 1

                                        I run into small stuff fairly regularly. Visual glitches are common. Every once in a while, I’ll run into a site that won’t let me login. (Redirects fail, can’t solve a CAPTCHA, etc.)

                                        Some google workspace features at least used to be annoying enough that I just devote a chrome profile to running those workspace apps. I haven’t retried them in Firefox recently because I kind of feel that it’s google’s just deserts that they get a profile on me that has nothing but their own properties, while I use other browsers for the real web.

                                        I should start keeping a list of specific sites. Because I do care about this, but usually when it comes up I’m trying to get something done quickly and a work-around like “use chrome for that site” carries the day, then I forget to return to it and dig into why it was broken.

                                    2. 5

                                      Huh, was surprised it’s not a static site generator, especially in a post about keeping things easy to maintain. Love the ethos here though, and JS (the ecosystem, not so much the language) is indeed exhausting.

                                      1. 6

                                        It used to be a static site generator but I was having trouble posting to the site from my tablet and phone. I had macgyvered a micropub and metaweblog api server that would save the file and trigger the generation again but it was quite clunky.

                                        CGIs are very easy to maintain. They get the job done for small sites like mine pretty well.

                                        1. 1

                                          Deciding whether to delete my account before 16th March.

                                          1. 1

                                            Why? Is your subscription expiring and you don’t want to renew? 🙂

                                            1. 2

                                              For those who have been living under a rock:

                                              On March 16, the UK’s Online ‘Safety’ Act comes into force. This is a staggering piece of regulatory capture which makes it infeasible for small forum operators to survive in the UK and drives people big US-owned platforms. lobste.rs will be using GeoIP blocking for UK users to avoid needing to comply, at which point those of us in the UK will lose access.

                                              The question is whether to delete accounts to make them visibly inactive before then.

                                              1. 1

                                                The UK is going to get cut off so I won’t get the chance after 16th March.

                                                1. 1

                                                  Understood but it wasn’t clear why deleting the account would not be possible after that date.

                                                  1. 1

                                                    Because there will be no access from the UK and I don’t want to start mucking about with proxy servers.

                                            2. 4

                                              This topic always reminds me of the time when video games were changing from 2D to 3D. Studios knew how to design games, but the controls suddenly didn’t work anymore. A couple key things stick out to me that made it work:

                                              1. The analog stick. Change the human interface device used to play the game
                                              2. Perspective. Intelligent camera placement by default (never behind a wall, or otherwise hiding things you need to see), with manual overrides (enemy lock-on, centering)

                                              The rest from there was universal game design, but figuring out the control scheme had to come first. Even with the right human interface device, it took the software a few cycles to catch on (Mario 64, OoT nailed it)

                                              I’m not saying that the future of visual programming is analog sticks, triggers, and buttons. I’m saying that we’re stuck thinking in metaphorical (and literal) 2D, and are waiting for the metaphorical (literal?!) 3D to happen for building software. It won’t be a first-person camera walking around a maze pressing E to invoke functions, in the same way it won’t be node-and-wires.

                                              I think I’m just drawn to the comparison in spirit, not so much because I think it has hidden wisdom that will make visual programming work.

                                              1. 3

                                                Going clay pigeon shooting for a friend’s stag do, then presumably spending the afternoon in the pub. Think the last time I went clay shooting was a different friend’s stag do in the before times. If I hit something, I’ll be happy.

                                                1. 1

                                                  I’ve to Google to understand what is clay pigeon shooting. Still didn’t get what it means stag do. It seems a place where do such activities especially in UK. Is that correct?

                                                  1. 2

                                                    Was so proud of myself for putting this together recently on a trip to Scotland! Saw phrases like “having a do” around town on posters, and eventually had an aha moment like “oooooh as in doing, like an event.” Already knew the phrase “going stag” which is when a man goes to a primarily couples event solo. When the phrase “stag do” came up, I immediately got it and was so proud of myself :) For context, am from the US

                                                      1. 2

                                                        Ah! Learned something new today. Thank you!

                                                  2. 2

                                                    May not be completely relevant to the article, but I always wanted to write a blog post titled something like “Visual programming is here, right before our eyes”.

                                                    I really enjoyed learning about CellPond, but I don’t believe that we have to go to such “depths” for visual programming - a featureful IDE with a well-supported language is pretty much already that.

                                                    Programs in most PLs are not 1D text, they are 2D text with some rudimentary visual structuring, like blocks, indentation, alignment etc.

                                                    This is turbo-charged by a good IDE that makes operations operate on symbolic structures and not on a list of characters. E.g. something as simple as putting the caret on a variable will immediately “bring up another layer of information” as a graph showcasing the declaration and uses of it. I can also select an expression (and can expand it syntactically) and choose to store that expression as a new node. Intellij for example will even ask if I want to replace the same expression at different places, effectively merging nodes. And I would argue that experienced developers look at code just like that - we are making use of our visual cortex, we are pattern matching on blocks/expressions, etc. We are not reading like you would read a book, not at all.

                                                    I can also see all the usages of a function right away, click on its definition, its overrides, parent class/interface right from my IDE. These are semantically relevant operations on specific types of nodes, not text.

                                                    Also, writing is just a very efficient and accurate visual encoding of arbitrary ideas, so it only makes sense to make use of it where a more specific encoding can’t be applied (sort of a fallback). “Nodes” (blocks of code) being text-based doesn’t take away from “visual programming” in my book. I would actually prefer to *extend” ordinary programming languages with non-textual blocks, so that I can replace, say, a textual state machine with a literal, interactive FSM model, and my IDE will let me play with it. (If we look at it from far away, Intellij again has a feature that lets you test regular expressions by simply writing a sample text, and it showcases which part matches and which doesn’t). Because a graph of a state machine is more “efficient”/“human-friendly” than a textual representation. But I think it’s faulty to think that we could have a representation that will apply equally well for different areas - this is exactly what human writing is.

                                                    1. 1

                                                      I care a lot if it takes 10 seconds to start! I quit vim a lot while I’m working. In part because it takes 0 seconds to start. Though the Haskell language server kinda ruins that.

                                                  3. 5

                                                    Felt like there was a time when every tech company was obsessed with gamification too, somewhere around Social Media.

                                                    1. 5

                                                      The calendar UI we have grown familiar with (for example, google calendar) is peak UI. It’s highly intuitive to modify, and highly intuitive to read. We did it, we solved calendars, and they are inherently graphical. We need a data interchange format too of course, but that was also solved long ago.

                                                      So, you’re going up against that. At best, this makes it easier to make calendar-wide changes easier with text editor features. The only way I could see myself using this is if it could at minimum show a graphical version of the calendar… but then you will want to edit from the graphical interface… in which case we are back to square one. Typing in a bespoke syntax at least needs amazing intellisense, is that offered? Even with intellisense on desktop, you very likely won’t have that on mobile, so I guess you just memorize the syntax? Probably not that hard, but annoying if you haven’t updated your calendar in a while and forgot some things, and want to add something quick on the go. That right there is the killer feature of a GUI, you can activate the human intuition to problem solve, without forcing them into full slow-think.

                                                      Some people MUST live their lives out of emacs or whatever, and more power to them! This is a fun project, just not for me, or most other people I would assume.

                                                      1. 3

                                                        calendar UI we have grown familiar with (for example, google calendar) is peak UI.

                                                        I disagree. Today’s calendars focus on being a database of events. A better UI would focus on what matters to me right now, and use the “database” for queries. For example, the main screen would be what’s on the agenda for the next few days, and any big events coming up soon. Each event would include the tasks I need to do in preparation, ordered by urgency.

                                                        Anyway, claiming anything is peak UI is sus. Unless we’re talking about the terminal.

                                                        1. 1

                                                          I can tell we will just disagree, and that’s fine.

                                                          For what it’s worth, it’s table stakes for calendar GUIs to have agenda/today/week/month/year view modes that are easy to switch between, which are exactly what you want? To see both today’s events and the big upcoming events, switching between views seems intuitive to me.

                                                          Sure my wording of “peak UI” is dumb. I just mean to say it is one of the very few GUIs that nearly always behaves exactly the way my intuition wants it to. Not perfect, what is, but it’s very good.

                                                        2. 1

                                                          I would love a graphical gcal-like UI that used this format as a backend so I could use git to sync across devices! But editing it by hand? I’m almost as die-hard of an Emacs user as they come, but no thanks.

                                                          1. 2

                                                            Should be able to do this using caldav as the syncer and ical as the data format. We already have the fully featured data format for calendars. You’ll have to find your own UI, but caldav is a somewhat commonly supported thing.

                                                            YMMV trying to use git. You’ll certainly be able to get the data into git, but every not-self-hosted calendar provider (fastmail, etc.) is going to want caldav, not git(hub/lab/etc.) Maybe there’s something out there for you though, good luck!

                                                        3. 4

                                                          Sure, Eight Sleep needs a way to push updates

                                                          No, they really don’t! It’s a temperature controlled bed, it should be a dead simple closed system.

                                                          1. 3

                                                            Pushing updates instead of user-initiated updates is one of the worst things that human kind have ever invented, and I am only moderately hyperbolic about that. I think almost all modern tech problems, and even many tech industry problems, can be directly tied to it.

                                                            Why care about bugs? We can just push out an update! No one will notice! Until their phone randomly reboots while they need to call 911 (which actually happened to me on my Android).

                                                            Why care about UX consistency? We can just push out A/B updates and experiment directly on our users! (which meant an app I was trying to teach my grandmother to use was completely different on her system than mine.)

                                                            etc etc…

                                                            1. 1

                                                              Consistently applying important security updates is something you can most definitely not expect the average user (or even technically sophisticated but lazy users) to do. Bugs are inevitable, no matter how hard you try.

                                                          2. 10

                                                            Bitwarden has worked great for me over the years, but they recently started fucking around with the UI, which I worry is a signal that they are losing it internally. A standalone OTP app kinda sounds like a PM stunt to widen the funnel, because it’s honestly just confusing that their flagship product is a password manager that already has OTP support, but now this too? I don’t WANT to but I am considering giving up and moving to the Apple Passwords app, at least I know it won’t enshittify the way every non-duopoly piece of software seems to.

                                                            1. 19

                                                              I would like to represent the delegation of broke people in their 20s whose tech salaries are efficiently absorbed by their student loans:

                                                              You don’t need a smart bed. My mattress cost $200 and my bedframe cost <50. I sleep fine. I know as people age they need more back support but you do NOT need this. $250 worth of bed is FINE. You will survive!!

                                                              1. 8

                                                                I’m not sure I agree. Like if you are living paycheck-to-paycheck then yeah, probably don’t drop $2k on a mattress. But I believe pretty strongly in spending good money on things you use every day.

                                                                The way it was explained to me that aligned with my frugal-by-nature mindset was basically an amortization argument. You (hopefully) use a bed every single day. So even if you only keep your bed for a single year (maybe these newfangled cloud-powered beds will also have planned obsolescence built-in, but the beds I know of should last at least a decade), that’s like 5 bucks a day. Which is like, a coffee or something in this economy. I know my colleagues and I will sometimes take an extra coffee break some days, which could be a get up and walk break instead.

                                                                You might be young now, but in your situation I would rather save for my old age than borrow against my youth. And for what it’s worth I have friends in their 20s with back problems.

                                                                (of course, do your own research to figure out what sort of benefits a mattress will give to your sleep, back, etc. my point is more that even if the perceived benefits feel minimal, so too do the costs when you consider the usage you get)

                                                                1. 11

                                                                  Mattresses are known to have a rather high markup, and the salesmen have honed the arguments you just re-iterated to perfection. There are plenty of items I’ve used nearly daily for a decade or more. Cutlery, pots, my wallet, certain bags, my bike, etc. None of them cost anywhere near $2000. Yes, amortized on a daily basis, their cost comes to pennies, which is why life is affordable.

                                                                  Yes, there are bad mattresses that will exacerbate bad sleep and back problems. I’ve slept on some of them. When you have one of those, you’ll feel it. If you wake up rested, without pains or muscle aches in the morning, you’re fine.

                                                                  1. 4

                                                                    I too lament that there are things we buy which have unreasonable markups, possibly without any benefits from the markups at all. I guess my point is more that I believe – for the important things in life – erring on the side of “too much” is fine. I personally have not been grifted by a $2k temperature-controlled mattress, but if it legitimately helped my sleep I wouldn’t feel bad about the spend. So long as I’m not buying one every month.

                                                                    I think one point you’re glossing over is that sometimes you have to pay an ignorance tax. I know about PCs, so I can tell you that the RGB tower with gaming branding plastered all over it is a grift [1]. And I know enough about the purpose my kitchen knife serves to know that while it looks cool, the most that the $1k chef’s knife could get me is faster and more cleanly cut veggies [2].

                                                                    You sound confident in your understanding of mattresses, and that’s a confidence I don’t know if I share. But if I think of a field I am confident in, like buying PCs, I would rather end the guy who buys the overly marked-up PC that works well for him than the one who walks a way with a steal that doesn’t meet his needs. Obviously we want to always live in the sweet spot of matching spend to necessity, but I don’t know if it’s always so easy.


                                                                    [1] except for when companies are unloading their old stock and it’s actually cheap.

                                                                    [2] but maybe, amortized, that is worth it to you. I won’t pretend to always be making the right decisions.

                                                                    1. 6

                                                                      I personally have not been grifted by a $2k temperature-controlled mattress, but if it legitimately helped my sleep I wouldn’t feel bad about the spend.

                                                                      Note, because it’s not super obvious from the article: the $2k (or up to about 5k EUR for the newest version) is only the temperature-control, the mattress is extra.

                                                                      All that said: having suffered from severe sleep issues for a stretch of years, I can totally understand how any amount of thousands feels like a steal to make them go away.

                                                                      1. 2

                                                                        One of the big virtues of the age of the internet is that you can pay your ignorance tax with a few hours of research.

                                                                        In any case, framing it as ‘$5 a day’ doesn’t make it seem like a lot until you calculate your daily take-home pay. For most people, $5 is like 10% of their daily income. You can probably afford being ignorant about a few purchases, but not about all of them.

                                                                        1. 4

                                                                          One of the big virtues of the age of the internet is that you can pay your ignorance tax with a few hours of research.

                                                                          Maybe I would have agreed with you five years ago, but I don’t feel the same way today. Even for simple factual things I feel like the amount of misinformation and slop has gone up, much less things for which we don’t have straight answers.

                                                                          For most people, $5 is like 10% of their daily income. You can probably afford being ignorant about a few purchases, but not about all of them.

                                                                          Your point is valid. I agree that we can’t 5-bucks-of-coffee-a-day away every purchase we make. Hopefully the ignorance tax we pay is much less than 10% of our daily income.

                                                                  2. 6

                                                                    I think smart features and good quality are completely separate issues. When I was young, I also had a cheap bed, cheap keyboard, cheap desk, cheap chair, etc. Now that I’m older, I kinda regret that I didn’t get better stuff at a younger age (though I couldn’t really afford it, junior/medior Dutch/German IT jobs don’t pay that well + also a sizable student loan). More ergonomic is better long-term and generally more expensive.

                                                                    Smart features on the other hand, are totally useless. But unfortunately, they go together a bit. E.g. a lot of good Miele washing machines (which do last longer if you look at statistics of repair shops) or things like the non-basic Oral-B toothbrushes have Bluetooth smart features. We just ignore them, but I’d rather have these otherwise good products without she smart crap.

                                                                    Also, while I’m on a soapbox – Smart TVs are the worst thing to happen. I have my own streaming box, thank you. Many of them make screenshots to spy on you (the samba.tv crap, etc).

                                                                    1. 1

                                                                      Also, while I’m on a soapbox – Smart TVs are the worst thing to happen. I have my own streaming box, thank you. Many of them make screenshots to spy on you (the samba.tv crap, etc).

                                                                      Yes, absolutely! Although it would be cool to be able to run a mainline kernel and some sort of Kodi, cutting all the crap…

                                                                    2. 5

                                                                      You don’t need a smart bed. My mattress cost $200 and my bedframe cost <50. I sleep fine. I know as people age they need more back support but you do NOT need this. $250 worth of bed is FINE. You will survive!!

                                                                      I guess you never experienced a period with serious insomnia. It can make you desperate. Your whole life falls in to shambles, you’ll become a complete wreck, and you can’t resolve the problem while everybody else around seems to be able to just go to bed, close their eyes and sleep.

                                                                      There is so much more to sleep than whether your mattress can support your back. While I don’t think I would ever buy such a ludicrous product, I have sympathy for the people who try this out of sheer desperation. At the end of the day, having Jeff Bezos in your bed and some sleep is actually better than having no sleep at all.

                                                                      1. 4

                                                                        You make some good points why this kind of product shouldn’t exist and anything but a standard mattress should be a matter of medical professionals and sleep studies. When people are delirious from a lack of sleep and desperate, these options shouldn’t be there to take advantage of them. I’m surprised at the crazy number of mattress stores out there in the age of really-very-good sub-$1,000 mattresses you can have delivered to your door. I think we could do more to protect people from their worn out selves.

                                                                      2. 4

                                                                        None of the old people in my family feel the need for an internet connected bed (that stops working during an internet or power outage). Also, I imagine that knowing you are being spied on in your sleep by some creepy amoral tech company does not improve sleep quality.

                                                                        I do know that creepy amoral tech companies collect tons of personal data so that they can monetize it on the market (grey or otherwise). Knowing that you didn’t use your bed last night would be valuable information for some grey market data consumers I imagine. This seems like a ripe opportunity for organized crime to coordinate house breakins using an app.

                                                                        1. 7

                                                                          I believe the people who buy this want to basically experience the most technological “advanced” thing they can pay for. They don’t “need” it. It’s more about the experience and the bragging rights, but I could be wrong.

                                                                          1. 3

                                                                            I’m sorry to somewhat disagree. The reason I would buy this (not at that price tag, I had actually looked into this product) is because I am a wildly hot person/sleeper. I have just a flat sheet on and I am still sweating. I have ceiling fans running additional fans added. This is not only about the experience unless a good night sleep is now considered “an experience”. I legitimately wear shorts even in up to a foot of snow.

                                                                            1. 3

                                                                              As the article says, you can get the same cooling effect with an aquarium chiller for that purpose. You don’t need a cloud-only bed cooler.

                                                                        2. 1

                                                                          My mattress cost $200

                                                                          Ouch… Please do not follow this piece of advice. A lot of cheap mattresses contain “cancer dust”[1] that you just breath in when you sleep. You most likely don’t want to buy the most expensive mattress either, because many of the very expensive mattresses are just cheap mattresses made overseas with expensive marketing.

                                                                          The best thing to do is to look at your independent consumer test results for your local market. (In Germany where I live it’s “Stiftugn Warentest” and in France where I’m from it’s “60 millions de consommateurs (fr).” I don’t know what it is in the US.)

                                                                          A good mattress is not expensive, but it’s not cheap either. I spend 8 hours sleeping on this every day, I don’t want to cheap out.

                                                                          [1] I don’t mean literal cancer dust. It’s usually just foam dust created when the mattress foam was cut, or when it rubs against the cover. People jokingly call it “cancer dust”

                                                                          1. 2

                                                                            It’s usually just foam dust created when the mattress foam was cut, or when it rubs against the cover.

                                                                            source?

                                                                            1. 1

                                                                              wait… is it carcinogenic? Now I’m concerned lol

                                                                              1. 1

                                                                                I wouldn’t know. Because it depends on what the “dust” is. It just lead most reviewer to say “this can’t be healthy”

                                                                                This article claims that it just lead to lung irritation. But again, I’m just paranoid, with asbestos we started having concerns way too late.

                                                                          2. 2

                                                                            If you look at lots of popular OSS gems (like rails), you will eventually see conditional checks on framework version, language version, platform, etc. I think this blog post is supposed to be rage bait, but they’re kinda just doing a practical, straightforward extension of a huge complex framework, how else are you supposed to do that if the bits you need are not extensible? You can either fight to get the extensibility into upstream, or add the conditionals for if/when the undocumented private behavior changes.

                                                                            I would use semantic versioning on dependencies here instead of forcing yet another piece of runtime code on already overburdened rails apps (ESPECIALLY initializers…). Pin yourself to the major/minor version of action_whatever with the signature you need, this is what semantic versioning is for. Maybe once you need your one gem to support many versions of the flaky upstream dependency, you add the runtime conditionals like I mentioned above.

                                                                            1. 1

                                                                              But this is a private method, so its signature/behavior can change even in a patch version, right? If it were public, enforcing the minor version would be okay

                                                                              1. 1

                                                                                Yeah exactly, so I guess you would need to pin pretty hard, which sounds impractical. Agree about public, minor, for sure (and wouldn’t be TOO surprised if even minor/patch broke things)

                                                                            2. 2

                                                                              I learned programming through OOP, so it holds a special place in my heart. It’s a very natural model, if you care to stick with it and let it click. It gives you a framework for thinking about solutions in. You shape your loose unstructured thoughts into classes and interfaces that make logical sense, that are easy to test, etc. It’s the same as any other framework, in that you think in it, in that you can apply it well or poorly.

                                                                              What domains or situations lend themselves to organizing code via objects?

                                                                              Honestly I don’t think about it that way. I think the Ruby programmer and the Go programmer and the Java programmer, all of equal skill and proficiency in their respective languages, will model something out that looks and works more or less the same. Talking about solving a REAL problem here— so connections to databases, handling http interactions, etc. Whether or not it’s an OOP solution, the state has to go somewhere, things will communicate with other things to do work, there will be boilerplate for managing task execution, handling errors, so on and so forth.

                                                                              OOP must be regarded as ancient and bad now I guess, and whatever I guess that’s fair, but I can guarantee you bad code will continue to be written, regardless of paradigm or language. My point is to just use whatever framework of thought the language is best suited for, it’s very likely what the whole language was built around— what justified creating an N+1th language in the first place.

                                                                              1. 6

                                                                                I wrote this a while ago about print debugging and about how it’s fine. See lobsters discussion. So I have some observations.

                                                                                It’s interesting how the author went with print debugging being fine for many years, had reasons why that was good and fine, and then finally ended up in a context where he needed a debugger, and now has changed his mind and considers debugger use as the new baseline.

                                                                                Hinted at but not discussed in detail is what in code necessitates use of a debugger. Code size isn’t it. “Lots of callbacks” make it important, apparently and “complex systems”.

                                                                                Is it only complexity or also how that complexity is organized: i.e. architecture? There’s a relationship between software architecture and how easy is it to debug with print statements, and how easy is it to test. I think we should strive for islands in our codebase as big as possible that are easy to test automatically, and thus probably also be debuggable with simple tools like print. But that’s not always feasible - parts of your code may have a structure that make more advanced debugging tools helpful, just like in some cases it’s actually easier to test by hand than writing an automated test.

                                                                                That said, it’s worthwhile to see how far you can push a codebase so it’s easier to test and debug again. See for instance recent discussions about sans-IO

                                                                                1. 2

                                                                                  I’ve found structured log based print debugging with a file:lineno pair to be super helpful. It gives you something to click that takes you to where the log message came from, which works wonders for rapid development. Basically, invest in it if you find yourself constantly slowed down by grepping the codebase for the log message– especially if you end up with a lot of logs that have a generic message format like “Failed to do $thing”.

                                                                                  This can be annoying to implement properly, depending on the languages ability to introspect the call stack, but if you get it working it’s been worth it, for me. Need to worry about things like nesting log emit behind helper functions, you need a way of telling the underlying file:lineno logic “go up by N from callsite”.

                                                                                  I’ll still drop in breakpoints for the surgical work, but when debugging a system holistically, you may need to see a stream of logs as things are happening in real time to get the full picture.

                                                                                  1. 1

                                                                                    For me lately I hardly work on code that is not parallelized in one form or another. Reasoning about how that code runs strictly based on print debugging is difficult.

                                                                                    Sometimes it’s also difficult to do in a debugger, but having a stack and a memory state to look at is better than anything that could be done in print in my opinion.