• 0 Posts
  • 52 Comments
Joined 1 year ago
cake
Cake day: June 26th, 2023

help-circle
  • For those of you who’ve never experienced the joy of PowerBuilder, this could often happen in their IDE due to debug mode actually altering the state of some variables.

    More specifically, if you watched a variable or property then it would be initialised to a default value by the debugger if it didn’t already exist, so any errors that were happening due to null values/references would just magically stop.

    Another fun one that made debugging difficult, “local” scoping is shared between multiple instances of the same event. So if you had, say, a mouse move event that fired ten times as the cursor transited a row and in that event you set something like integer li_current_x = xpos the most recent assignment would quash the value of li_current_x in every instance of that event that was currently executing.



  • There are a few options there.

    As someone else mentioned if you’re using IPv6 then it doesn’t matter, you’re already routing internally even if you’re using the public DNS name, no extra work required.

    All the rest are for IPv4.

    If you’re not behind CGNAT some routers/gateways are also smart enough with their routing to recognise when they need to route back to their own external IP and will loop back locally instead of making any hops out to the internet. Again, if this is the case for you then no additional work is required other than perhaps running a traceroute to confirm.

    Another option is to add a local DNS entry for the name you’re using to resolve to a local IP address instead of your public address. The complexity (or even possibility) of this is going to vary considerably with your setup. If you’re running your own local DNS e.g. pihole or similar then it’s trivial. This is how mine is set up.

    If all your clients are going to be on PCs (or devices you have more than the typical manufacturer allowed modicum of control over) then you can do something kind of like the previous, just with all your local hosts files.

    If none of the above are options, then you’ll unfortunately have to fall back on using a local name/address, which means a slightly different client setup for devices you use exclusively in your home versus ones you might use elsewhere.





  • I’m all for more people switching to linux, but a lot of your windows issues sound less like windows issues and more like your specific installation is messed up somehow issues.

    One thing I will mention though is that Windows does have native per-application volume control, you don’t need to install EarTrumpet. You can right-click the system tray volume icon and open the mixer, or just search for “volume mixer” in the start menu.



  • A docstring is a comment that is used to annotate types/methods/classes/whatever and can be parsed by the IDE and used to provide various hints/assistance when writing code. Tooltips, parameter type suggestions, intellisense, etc. for things that aren’t native parts of the language all usually come from or can be supplemented by docstrings.

    The specific format of a docstring varies by language, but many of them prefix meaningful tokens with an @, like @type or @param.

    However, if your project is using GitHub it’s also quite common to mention users in comments by prefixing their username with an @, so several vscode GitHub extensions will make any “@{real username}” in a comment into a link to that user, which will show a small user tooltip when hovered.

    Edit: I appear to have conflated docstrings and docblocks, but then so has the initial post. I guess at some point “docstring” has just taken over to colloquially refer to all of it.





  • Yeah, there are different bluetooth audio profiles, one for high quality audio intended for media consumption, and one for bi-directional audio intended for telephony (and some others, but these are the relevant ones here). The “gotcha” is that in general, any attempt to consume the mic feed from a bluetooth headset will switch it to the telephony mode, so if you have them paired to a PC and an application is listening to the mic for any purpose you get stuck with much lower quality 64kbps PCM audio.








  • As someone in the dev team for a “business app”, we probably know about most or all of them, but they’re just not important enough for anyone in management to prioritize them as part of a sprint. It’s also possible no one has given us reproducible steps to make them happen, so we just straight up don’t know what to fix. Usually the former though.