Johz's recent activity

  1. Comment on Looking for an effective self-block application for Android in ~tech

    Johz
    Link Parent
    I use an app that's just called Block, I think, and it's been pretty good so far. It can block specific apps, as well as websites, it has a few different ways of scheduling blocks (schedules,...

    I use an app that's just called Block, I think, and it's been pretty good so far. It can block specific apps, as well as websites, it has a few different ways of scheduling blocks (schedules, hourly limits, daily limits) and it has a fairly configurable pause setting. I've not fiddled around much with the anti-uninstall stuff but it looks like it has that, you could see if that handles Portuguese properly!

    I have the pro version but I'm fairly sure that that was a one time fee, and I found it a reasonable price. A number of features are only available with pro, but I can't remember which ones right now, unfortunately.

    My current tactic is to block all time wasting apps and websites between 6am and 7pm, with pauses disabled. I have a second block that does the same, but it only blocks newly installed apps and it allows me to pause the block - this is an escape hatch that makes installing new games and things a nuisance, but means if I'm somewhere and I need to install a particular app for some reason, then I can still do that. Finally, I have a 24/7 block on Reddit that I can unpause for 5 mins at a time, so that I can read Reddit results when I'm googling something, but it's difficult to keep on scrolling endlessly. (Actually, I might have already disabled that last one because Reddit's new login popup makes it so difficult to use anyway.)

    I've found this setup really effective so far, and it's been going for over a year now, I think, in various forms. I think part of it is a psychological sense that I paid for this thing, so I'm damn well going to use it properly, but even before I paid I was fairly happy with it.

    Good luck in your search, though. I sometimes feel a bit dumb that I need my phone to tell me when I'm allowed to play with it, but at the same time it works, I'm happier for it, and that's what matters.

  2. Comment on Sanity check - always-on machine + laptop with remote desktop in ~tech

    Johz
    Link Parent
    Good shouts! I did try out the laptop<->phone connection, although only briefly. For working it was more than good enough, although I only tried gaming out on LAN connections, so I should probably...

    Good shouts! I did try out the laptop<->phone connection, although only briefly. For working it was more than good enough, although I only tried gaming out on LAN connections, so I should probably test that out again under less ideal conditions. But I suspect that matches how I'd be using this setup anyway — gaming while at home, but doing idle programming/tinkering while on the move. But I will double check how that gets set up.

    2 votes
  3. Comment on Sanity check - always-on machine + laptop with remote desktop in ~tech

    Johz
    Link Parent
    I'll treat that as independent confirmation that Moonlight/Sunshine isn't a bad choice then! :D Out of interest, why did you stop using this setup? And what was the biggest nuisance you found with it?

    I'll treat that as independent confirmation that Moonlight/Sunshine isn't a bad choice then! :D

    Out of interest, why did you stop using this setup? And what was the biggest nuisance you found with it?

    1 vote
  4. Sanity check - always-on machine + laptop with remote desktop

    I'm looking for a new laptop as my current one is falling apart, and one option that seems quite tempting at the moment is getting a desktop machine, leaving it running away in the background, and...

    I'm looking for a new laptop as my current one is falling apart, and one option that seems quite tempting at the moment is getting a desktop machine, leaving it running away in the background, and then accessing it using remote desktop software from a laptop (or even tablet) most of the time. My logic is that I want a fairly decent device for programming on and occasional games, but I also want something portable that I can carry into every room of my flat. I've also been experimenting more with Tailscale and using my laptop as a remote development machine and my phone as a dumb terminal while traveling abroad, and that's worked fairly well, so I'm interested in how far I can take this concept. Plus the idea of also being able to use my main device as a small homelab is kind of appealing as well.

    The plan would be:

    • Framework Desktop sits somewhere at home and is on all the time. My wife has a Framework laptop that she's quite impressed with, I realise the value proposition for desktop computers is less given there's already so much possibility to configure and upgrade, but I've never built a PC myself before and I don't want to complicate this setup too much.
      '* A dumb terminal device that I can carry around with me. For now, that'll probably be my current laptop as long as it lasts, but in the future maybe a cheap Chromebook or even a tablet that I can connect a keyboard and mouse to.
    • Moonlight/Sunshine setup for the remote desktop side of things. From what I can tell, this can stream both individual applications but also the whole desktop, and works with various clients.
    • Tailscale to access all of this outside the home. This is less important but it would be convenient. And if I go down the homelab direction, also for being able to access my self-hosted services remotely or running my personal website off my own hardware.

    Things I'm concerned about:

    • German connection speeds are, broadly speaking, poor, especially with upload speeds. I'm looking at maybe 300M down, 50M up. Inside my local network that won't affect me, but if I did want to take my laptop with me, I don't have a good sense of whether the remote desktop aspect is really feasible.
    • The Framework desktop - I like the company, and I like the idea of a repairable desktop that's still sold as a single unit and not something where I need to buy everything myself. But I also don't have a good sense of how much of a premium I'd be paying here, vs either building something completely from scratch or buying a more typical desktop
    • The laptop would probably live in the living room because that's where all the other technology (in particular the modem) in our house lives. It's fine if it makes a noise while I'm actively using it to watch things, but I'd need it to be very quiet the rest of the time. Framework does sell a fan that is specifically designed to be quiet, but I'm not sure if this is "it's quiet compared to having a normal computer fan on" or "it's quiet compared to having turned all my devices off for the night".

    Does anyone have any experience with this kind of setup, and is this something that would reasonably work, or am I completely missing something obvious that makes this a terrible awful idea that nobody should do?

    Thanks in advance!

    24 votes
  5. Comment on Choosing a printer in ~tech

    Johz
    Link Parent
    I also recommend this, although in the end we got a black-and-white printer, which is fine. Where we live, there are some fairly cheap self-serve printing shops when we really need colour, and the...

    I also recommend this, although in the end we got a black-and-white printer, which is fine. Where we live, there are some fairly cheap self-serve printing shops when we really need colour, and the printer at home is mainly for convenience when printing out documents and things for typical German bureaucracy purposes, and those can pretty much always just be black and white. It's also good to have something at home for emergencies, even if it's "only" black and white.

    1 vote
  6. Comment on What JavaScript framework should I use? in ~comp

    Johz
    Link Parent
    I strongly disagree with this statement. To be clear, I think not using a framework at all can be a fine option, and I also think React has a lot of issues that make it a poor framework. My own...
    • Exemplary

    There's nothing React / whatever really gets you anymore that you can't get from native Web Components and all the effect and suspense garbage it comes with serves literally no point anymore. It's time has officially come and gone.

    I strongly disagree with this statement.

    To be clear, I think not using a framework at all can be a fine option, and I also think React has a lot of issues that make it a poor framework. My own personal preference would be for SolidJS, that's what I usually go for if I'm using a framework, otherwise I'll sort of hand-roll things if they aren't too complicated. Either way, I am not trying to denigrate web components or claim that React is some brilliant tool that solves all your problems. However:

    Web components are not a replacement for React. Web components are mostly orthogonal to React, they should be used for different things.

    React provides, roughly, three major things: reactive state (i.e. when I change some application state, trigger the appropriate side effects including updating the UI); templating (i.e. a declarative syntax for describing how the UI should look depending on the state); and state management (i.e. how do I stay in control of a complex state tree). It isn't necessarily great at all three (templating is great, reactive state is overly complicated by the UI = f(state) paradigm, and state management exists but is mostly supplemented by third-party libraries), but all three are present.

    Web components provide two things: a set of APIs for isolating parts of the DOM in different way, and a declarative syntax for executing these APIs from HTML. It's also worth keeping in mind that the APIs aren't necessarily even tied to web components - you can use the shadow DOM without ever creating a custom component - but the two parts are mostly connected for historical reasons.

    Many people use web components via Lit, but Lit is a fairly standard web framework, much like React, that just happens to use web components internally. When you use Lit, you get all the reactive state, templating, state management goodies that you get from React and other frameworks, but only because Lit is providing them, and not because they have anything to do with web components themselves.

    You should reach for web components if:

    • You are writing code that will be embedded into a variety of different contexts and frameworks, and you want consumers to be able to use a consistent syntax to pass data into your code
    • You are writing a widget that is entirely self-contained with very clearly defined inputs and outputs, essentially something like a date picker or a chart widget that can be dropped into any page.

    That's probably not the case in this instance, in which case web components aren't really adding much.

    I also don't agree with your comment about the "effect and suspense garbage". In fairness, React makes effects more complicated than they need to be, but both tools are incredibly useful. Effects are how you interact with things outside of the React world, and suspense is how you cope with asynchronous data. If you don't have these things, you need to either load all data upfront (impractical for anything that's actually reactive where that data can change) or you manually manage that asynchronicity everywhere that it's needed, essentially building your own less-good version of suspense. All frameworks have something like suspense, although different frameworks have different APIs and names for it. Svelte and SolidJS in particular are actively exploring this space in detail because of how useful it turns out suspense can be.

    14 votes
  7. Comment on New Zealand has a new official language — English in ~society

    Johz
    Link Parent
    It's worth noting that the Māori Language Act 1987 doesn't make Māori the official language, it makes it an official language. That is, the language of the bill is not about codifying the complete...

    It's worth noting that the Māori Language Act 1987 doesn't make Māori the official language, it makes it an official language. That is, the language of the bill is not about codifying the complete set of official national languages, it is asserting that Māori must be officially recognised as one of those languages. The assumption throughout the Act is that English already is an official language (English is made reference to several times as a comparison).

    So in that regard, further legislation is unnecessary - English is an official language, as are Māori and NZSL, there's not much that needs to change.

    That said, I think the original lawmakers kind of shot themselves in the foot by using the language of "official language". The Welsh equivalent the the New Zealand legislation is in part based on does not use this idea of an official language, it simply says that it can be used for official purposes. Wales didn't gain an official language until 2011, and even then, the status of official language is defined far more explicitly than in NZ's 1987 Act. I suspect some of this could have been resolved with tighter wording there, and avoiding the specific wording of "official language".

    11 votes
  8. Comment on Reminder to myself that my employer does not give a shit about me in ~life

    Johz
    Link Parent
    I don't think this is European so much as white-collar (or at least the combination of European white-collar work). A lot of workplaces require at least some people to be available all the time,...

    I don't think this is European so much as white-collar (or at least the combination of European white-collar work). A lot of workplaces require at least some people to be available all the time, if everyone takes their holiday at the same time then that's a problem. A classic example is anyone in medical fields trying to take holiday during the summer holidays - that's when everyone wants to use their holiday, so it's usually reserved only for those with children who can't take holiday elsewhere in the year, and others might get a chance if they book early enough. (Teachers are the opposite; finding a wedding date when half your friends are teachers and the other half work in hospitals is very difficult.)

    I think the idea that you can take holiday whenever you like is mostly a luxury. I'm in a similar position to you in this regard (and I'm also currently enjoying German levels of parental leave on top of that), but I think we need to be aware that most people will not be in this position, and that a lot of jobs don't work like this.

    5 votes
  9. Comment on Hungarian president Tamás Sulyok signs constitutional amendment ending his own mandate in ~society

    Johz
    Link
    It continually surprises me (and kind of worries me) how popular ideas like age limits and term limits are. They're tools that can at best address symptoms of broken democracies, and at worst can...

    It continually surprises me (and kind of worries me) how popular ideas like age limits and term limits are. They're tools that can at best address symptoms of broken democracies, and at worst can be used anti-democratically to rule out popular candidates arbitrarily. If you think an 18yo doesn't have enough experience to become Prime Minister, or President, or whatever else, then that battle should be fought at the polls and not via the judicial system.

    The better approach is addressing the actual causes of these problems:

    • Moving decisions surrounding elections as far from political reach as possible, and into the hands of independent boards and advisors. Politicians constitutionally shouldn't be allowed to gerrymander or make sweeping changes to how elections are run. Similarly, keeping the judiciary as independent as possible — not political appointments, but appointments by independent bodies.
    • Getting rid of the effects of money, for example by limiting how much money campaigns have at their disposal. In the US, that would be getting rid of super PACs, and more generally it would mean limiting the amount that can be spent on advertising, campaigning, etc.
    • Choosing voting systems that create competitive races instead of ones that entrench the winners. Politicians should actively need to justify their existence. And if that means that a single politician keeps on getting elected decades because they're just that popular, then fair enough, they've deserved it. But the system shouldn't let them rest on their laurels, and the incumbency advantage should be minimised wherever possible.
    3 votes
  10. Comment on China is dealing with its own manosphere in ~life.men

    Johz
    Link Parent
    While I don't entirely disagree with you, the statistics from the US are more complicated than that. Marriages have gone down, but long-term monogamous cohabitation has gone up, compensating for...

    While I don't entirely disagree with you, the statistics from the US are more complicated than that. Marriages have gone down, but long-term monogamous cohabitation has gone up, compensating for the change at least in part, and fully in some cohorts (typically people with a university education). In addition, people are getting married later, but that doesn't necessarily mean that they don't get married eventually. This means that if you look at the percentage of people who are currently married, that number may have gone down, but if you look at the percentage of people who will eventually get married at some point, that number may not have changed as much.

    9 votes
  11. Comment on What are the new EU border checks and how will they affect your summer holiday? in ~travel

    Johz
    Link Parent
    I would agree with you, except that I've not found a better way. I live in Germany, my family lives in the UK. There are plenty of rail routes to get there, but they all have different flaws. It's...

    I would agree with you, except that I've not found a better way. I live in Germany, my family lives in the UK. There are plenty of rail routes to get there, but they all have different flaws.

    • It's a near 24hr journey by train, which means either staying the night somewhere en route, or taking overnight transport.
    • Night trains are expensive and often aren't great for actually sleeping. I find it okay, and my wife and I have done this option a few times, but now we've got a baby it's no longer an option.
    • There is a night ferry option, but getting to the ferry terminal is weirdly difficult by public transport, making the journey longer and requiring several more changes. We'd also end up in the wrong part of the UK, requiring more changes on the UK side.
    • We have done the option of staying a night somewhere along the way, but it bumps the cost up and is more complicated to plan.
    • All of these options mean we get to the UK a day later and would need to leave a day earlier, meaning less time to actually spend with my family.
    • All of these options are several times more expensive than flying.
    • All of these options require booking with at least three different providers (DB, Eurostar, and the UK rail system), coordinating times, and making sure there's enough buffer because too much delay will void the rest of our journey.

    Meanwhile, a direct train to the nearest airport and a cheap Ryanair flight is simple, cheap, and gets us there fairly quickly. It sucks, but, like, not that much, comparatively speaking. I'm happy to endure a couple of hours of discomfort if it saves me several hours of complication and discomfort elsewhere.

    Every time we make this trip (which has been several times this year alone due to illness), I desperately try and look for any other option, but I haven't found a reasonable route yet. When our kid is a bit older, we'll probably go back to the night train for at least one of the journeys, but for now that's out for various reasons.

    27 votes
  12. Comment on What are some seemingly silly things in your life that have practical purposes? in ~life

    Johz
    Link
    I have a bag and whenever I go outside, I always take that bag. Even if it's just down the road to pick up a bread roll or something, and I won't be gone more than five minutes, and the only thing...

    I have a bag and whenever I go outside, I always take that bag. Even if it's just down the road to pick up a bread roll or something, and I won't be gone more than five minutes, and the only thing I need is my phone and some keys, I take the bag.

    When I was younger, I used to constantly forget my keys or wallet, or whatever, or lose them by leaving them lying around, or have no idea where they were when I needed to leave the house and then get stressed searching for them. I've picked up a few strategies for dealing with this, but by far the best one is the bag. Everything that I need every day goes in the bag. My keys live in one pocket, my wallet lives in another, I've got a few bags for going shopping, and some other everyday essentials. It's all in the bag. I try not to take things out of the bag unless I have to, because I know I'm unlikely to remember to put them back, which means I'm back where I started. Which means that even if I'm 100% certain that I don't need my wallet or the shopping bags or whatever, I'll still take the whole bag so I know where everything is.

    6 votes
  13. Comment on Access to Fable and Mythos 5 cut off after US government order in ~tech

    Johz
    Link Parent
    As I understand it (which may be completely wrong), the goal of management in a public company is not necessarily to produce the best product or make the best company, but to keep shareholders...

    As I understand it (which may be completely wrong), the goal of management in a public company is not necessarily to produce the best product or make the best company, but to keep shareholders happy. If shareholders are not happy, then heads can roll, or funding can disappear, or company value can fall, or other dangerous things like that. So keeping shareholders happy is the primary goal.

    In theory, this is done by making a profit, and in theory that is done by making a good product, so in theory all the incentives align. In practice, people and situations are more complicated. In particular, during times of a bubble, the shareholders may get very focused on some particular technology or idea, and therefore to make the shareholders happy, you need to also focus on that idea. If the shareholders think that AI is the next big thing, and you're not "doing AI" (whatever that means), then the shareholders are unhappy. So in an AI bubble, everyone does AI, because that's what the shareholders want to happen. (It doesn't help that many of those shareholders may also specifically be invested in other AI companies, and therefore want to drive non-AI-focused companies towards doing more AI to make their AI investments more valuable, and other complex effects like that.)

    For companies that aren't publicly traded, the effects are the same, just replacing "shareholders" with venture capital or investors or owners or whatever. Even if you both own and actively manage a company, you're still driven by irrational tendencies. If you see everyone else "doing AI", then you might well panic and believe that you also need to do some AI just to keep up, even if you're not sure how to do AI.

    3 votes
  14. Comment on The road to non-directed kidney donation in ~health

    Johz
    Link Parent
    Bone marrow is also a lot easier these days than it used to be — you get a few days of injections that can make you ache a bit but that's about it, and then you sit in a hospital for a day while...

    Bone marrow is also a lot easier these days than it used to be — you get a few days of injections that can make you ache a bit but that's about it, and then you sit in a hospital for a day while they filter the stem cells out of your blood. It's basically painless, and the worst thing that happens to you is boredom.

    Depending on what country you live in, it's typically very easy to sign up as well — I was able to do all the swabbing by post, and that was that.

    Also (and mainly a reminder to myself because I've just moved): remember to update your contact details if you're already a donor and you've moved around. It's the sort of thing that you can sign up for and then only become relevant years later, so keeping the contact details up-to-date is important. That also seems to be very easy, just a few seconds to update.

    3 votes
  15. Comment on Electric ships are slowly starting to make sense in ~transport

    Johz
    Link Parent
    I managed (by chance) to see the new Orient Express sail-powered cruise liner the other day. Then I looked at the prices online, and wow, that is not an experience I will have any time soon, but...

    I managed (by chance) to see the new Orient Express sail-powered cruise liner the other day. Then I looked at the prices online, and wow, that is not an experience I will have any time soon, but it's exciting to see that sort of thing happen.

    That said, the impression I get is that most of these approaches are sail-assisted rather than fully sail-powered, in that the sails are used to reduce how much work the engines need to do rather than completely eliminate them. But I guess for a long journey that's still going to be a significant reduction in energy consumption.

    4 votes
  16. Comment on Bun has been rewritten in Rust in ~comp

    Johz
    Link Parent
    The companies I've been working with have basically all used either GitHub Copilot or Claude. API pricing has mostly just been used for the occasional integration (i.e. when building a tool that...

    The companies I've been working with have basically all used either GitHub Copilot or Claude. API pricing has mostly just been used for the occasional integration (i.e. when building a tool that has AI integration, use API pricing for that integration, but for the actual programming of it use Copilot/Claude subscriptions).

    In fairness, these have mostly been smaller companies (<100 developers) and I can imagine things are different for bigger corporations.

  17. Comment on Bun has been rewritten in Rust in ~comp

    Johz
    Link Parent
    I mean more in the sense that a lot of companies right now seem to be relying on subsidised inference - see Claude's subscriptions where loopholes are being slowly tightened, or GitHub Copilot's...

    I mean more in the sense that a lot of companies right now seem to be relying on subsidised inference - see Claude's subscriptions where loopholes are being slowly tightened, or GitHub Copilot's subscriptions which has recently become significantly more expensive. I think in the long term you're right, but I think in the short and medium terms, companies are typically going to end up paying more than they are currently, at least for developer tasks like this one.

    1 vote
  18. Comment on Bun has been rewritten in Rust in ~comp

    Johz
    Link Parent
    I'm not sure the economics are changing so much. Firstly, LLMs are getting more expensive as the major providers stop subsidising their usage (see Anthropic's recent terms of use changes, and...

    I'm not sure the economics are changing so much.

    Firstly, LLMs are getting more expensive as the major providers stop subsidising their usage (see Anthropic's recent terms of use changes, and GitHub's big price increases). Bun could do this because they're owned by Anthropic and basically have access to unlimited Claude usage for free (and possibly even the new Mythic model?).

    Secondly, most big projects in memory-unsafe languages don't suffer from bugs to the extreme extent that Bun has. Yes, there's good reason to push for more usage of memory safe languages in critical parts of core software like browsers or the kernel, but there are also a bunch of other tools that can at least partly mitigate issues. But Bun has always been buggy beyond just that. And maybe it's because Bun has unique challenges that make it harder to get memory safety right than in, say, Tigerbeetle or Ghostty or whatever else is using Zig, but I don't think most other projects are going to get as much value out of a rewrite.

    And thirdly, the proof is going to be in the pudding. It's not enough to spend vast numbers of token generating a new version of Bun - they also need to prove that the new version is materially less buggy. They've not really done that yet. In fairness, this is just an initial port, and there's a lot that needs to be cleaned up from this point in, but like I said before, I don't think Bun is buggy because of memory safety, I think it's buggy because it's not very good. So I suspect we're just going to see memory safety issues and segfaults going down, but there's just going to be other bugs instead that make up the balance. That is, for an end-user of Bun, I don't think there's going to be much difference.

    8 votes
  19. Comment on Bun has been rewritten in Rust in ~comp

    Johz
    Link Parent
    In theory, yes, but the small amount of a couple of files that I've seen, I think the new codebase would need a lot of care and attention to be useable by human contributors. There are lots of...

    In theory, yes, but the small amount of a couple of files that I've seen, I think the new codebase would need a lot of care and attention to be useable by human contributors. There are lots of weird things like the LLM inlining imported functions from other files, resulting in duplicated, subtly different functions lying all over the place; or the LLM writing functions that made sense in Zig but don't make sense in Rust. The result feels fairly chaotic, I don't think any developer is going to be familiar with the new codebase.

    I also am unsure about the unsafe keyword issue. One of the dangers of improper use of unsafe is that it can do spooky action at a distance - code that is marked as unsafe may run fine, but it may result in data that violates an invariant somewhere else. So now seemingly safe code is implicitly unsafe. If you're careful, you can build data structures that enforce the right invariants, meaning that the unsafe logic is confined to a certain spot. But it doesn't seem like the Bun uses of unsafe do that. I suspect untangling this amount of unsafe is going to be a very difficult challenge.

    There's also the issue that LLMs might but be as good at rewriting or porting as they appear at first glance. A while back, someone wrote a Python HTML5 parser, and other people vibe-ported it to other languages. Except the ports did weird things - they all had subtly different algorithms for some of the internal parts, even though they had all ostensibly come from the same code suggesting the LLM basically wrote its own version of some of the code, rather than doing a straight port. These sorts of subtle issues are difficult to notice at the sort of scale of this PR.

    The final issue is that the code the came before was very buggy - that's supposedly why they made the change. And in theory that makes sense - before there were a bunch of memory safety issues, Rust solves (insert asterisk here) memory safety, so switching to Rust should help a lot. But other Zig projects have not been struggling as much as Bun has with memory safety, so I don't think it's so simple to say that Bun's previous issues were because Zig is too lax, and Rust will solve them. Rather, I suspect Bun's previous issues have not to do with issues with how Bun is being developed, and that switching to Rust won't resolve those underlying issues at all. Instead, you're just going to end up with different categories of bug that Rust doesn't do anything to prevent.

    18 votes
  20. Comment on Happy Birthday David Attenborough, 'the voice for nature,' turns 100 in ~enviro

    Johz
    Link Parent
    I wasn't sure if I had the right name, and I thought about looking it up to double-check, but then I decided "fuck it, it's grammar pedantry, someone will definitely correct me if this is wrong"!

    I wasn't sure if I had the right name, and I thought about looking it up to double-check, but then I decided "fuck it, it's grammar pedantry, someone will definitely correct me if this is wrong"!