Piatro

joined 3 years ago
[–] Piatro@programming.dev 3 points 1 week ago

Famously optimistic!

[–] Piatro@programming.dev 6 points 1 week ago

It's hard to say and depends on the audience. I'll assume we're going for absolute beginners to Linux. In my opinion (long time Linux user, very aware of the hardware I'm using), there's not good enough explanations for why some of those actions are necessary. The GPU driver one for example will be a bit alien to someone who has decided to try to keep their old laptop going through changing from windows to Linux. How do they know that they need the drivers? What will installing the drivers do/what effect will it have? What's a proprietary driver? What's open-source?

Actually this is something that bugs me in general about beginner-targeted Linux instructions, we tend to mention and encourage the use of things like "the open source driver" or similar without explaining what that means. Yes, we generally would prefer open source drivers, but in some cases they are significantly worse. Most people aren't ideologues, they just want their shit to work. Yes encourage people to use the open source driver, but don't tell them that's their only option. If they need their device to actually work they probably have to use a proprietary driver sometimes.

Instructions for specific applications like timeshift would benefit from screenshots. Yes the gui could change but it makes it easier for readers to see what is happening and determine for themselves if they've opened the correct application.

For the snapshots, firstly what even are they? What is timeshift? Why are you telling me to do these things? When do I need to do this again? How would I restore from a snapshot? I could suggest similar criticisms for most points.

Overall there are useful points here, just needs more justification or detail to flesh it out.

[–] Piatro@programming.dev 26 points 2 weeks ago

Subheading makes it clearer that it is talking about the services rather than the phones

[–] Piatro@programming.dev 20 points 2 weeks ago

Or by not reading it because let's face it, you won't gain anything by reading the telegraph.

[–] Piatro@programming.dev 1 points 3 weeks ago (2 children)

Do you have issues with controllers? I feel like I would miss steam input a lot!

[–] Piatro@programming.dev 6 points 3 weeks ago (1 children)

Differentiator from projects like silver bullet seems to be the inclusion of a chatbot if I'm reading this correctly? Not something I want but if that's how you work, go for it.

[–] Piatro@programming.dev 1 points 3 weeks ago

Yeah I really should have read which community this was...

[–] Piatro@programming.dev 2 points 3 weeks ago (1 children)

Yes but the reality of JavaScript codebases is that you'll typically import hundreds if not thousands of dependencies fairly quickly. Last time I looked at the UI codebase at my job it was sitting at over 40k.

[–] Piatro@programming.dev 3 points 3 weeks ago (3 children)

One of these days I should really look at the specific differences that means Linux packages rarely experience this while npm it happens seemingly once a month.

[–] Piatro@programming.dev 11 points 4 weeks ago

The "make shit up" machine was found to be making shit up? Huh, if only we could have predicted this!

[–] Piatro@programming.dev 1 points 1 month ago (2 children)

I have a FairPhone and the hardware is fine and very repairable (being able to replace the usb socket has saved me from buying a new phone). The android alternative e/os has a lot of criticism the launcher is awful, feels like a cheap Chinese knock off of iPhone-like interface but you can at least swap it out and it's not as secure as something like graphene os. You're making a tradeoff whatever choice you make.

 

Hopefully the title is self-explanatory but some more details:

  • game is in isometric perspective with the camera locked to the player but from a significant distance away, creating high likelihood of obstructions by the level and decorations occuring
  • I want the player to see their character's vision and not have these obstructions block the player's view.

One way to achieve this might be to use raycasts from the character to hide objects (like walls or buildings) if they collide with an object on the opposite side to the camera. A slight problem there is if buildings have interiors then the rays wouldn't necessarily hit all relevant objects. Sometimes both the interior and exterior of the building would need to visible.

I've seen a few videos on stencil buffers but my understanding is that this might not apply, but I will admit to not understanding them well. Any help appreciated for this newbie to game dev.

 

Hi all, my trusty (but honestly always pretty terrible) Amazon basics tripod finally died, does anyone have a tripod they'd recommend or brands they'd avoid?

Typical usage for me would be travelling/hiking and landscape photography so ideally small and light without breaking the bank (which I know is pretty tough). Budget is variable but call it £100-£200 for now.

 

It's being rolled out in stages so you, like me, may not have it yet.

 

Title. Friend group and I play regularly but most of us are bad at the role playing part of it to the point where it's hard to tell when the player or the character are speaking in some scenes. Conversations are stiff. We can't use too heavily modified voices because we're playing remotely. My character is about to die (probably!) so help me pick a character or trait of my new character that someone not comfortable roleplaying can stick to without feeling weird about it!

 

What do you have, what do you recommend, and why?

Asking as I've got a lot of spare components lying around that I'm planning on turning into a NAS. If it doesn't work out I'll buy a pre-built enclosure and reuse the drives.

 

EDIT: Issue now resolved. Turns out that having an A record point to a DNS server probably wasn't the best idea. My best theory here is that A records pointing to DNS servers means "Find the authority on this domain at this other DNS server", which could never resolve. By pointing it to my VPS, the DNS could resolve to a definitive IP, and the certs were successfully generated.

Hi all, hope someone can help as I'm just confused now!

Long story short I want to host local services (like ntfy) using trusted certificates. I hoped to do this with Caddy and a wildcard domain (I don't want to expose the DNS records of the services I'm running if not necessary).

In my DNS I have an A record for *.local.example.com pointing at a semi-random IP. I have other services on a VPS on other subdomains so I can't just use a wildcard. This looks like:

blog  A  <VPS IP>
*.local  A  1.1.1.1

On the server in my home network (which I do not want to expose) I have dnsmasq running that is handling local DNS records for services on the LAN but carefully not the remote services on the same domain. Using dig I can see that the local and remote DNS are working as expected. Seeing the error on DNS-01 challenged "could not determine zone for domain "_acme-challenge.local.example.com" I have also added an exception in my local DNS for _acme-challenge.local to point to cloudflare's DNS at 1.1.1.1. The dig command confirms this works as expected after restarting dnsmasq.

With the following Caddyfile:

*.local.example.com {
        tls {
                dns <dns provider plugin> <API token>
        }

        @ntfy host ntfy.local.example.com
        handle @ntfy {
                reverse_proxy ntfy
        }
}

Every DNS-01 challenge fails with "...solving challenges: presenting for challenge: could not determine zone for domain "_acme-challenge.local.example.com"...".

I think this should be possible, but I'm not clear what I'm missing so any help greatly appreciated. I'm just dipping my toes into self-hosting and actually getting practical use out of my Raspberry Pi that's been collecting dust for years.

 

Not affiliated I just find this useful and it exposed me to a few of the new features of Ruby 3.2 like not having to specify the value in kwargs if the variable is defined in scope, eg:

foo = 'bar'; call(foo:) is equivalent to foo = 'bar'; call(foo: foo)

view more: next ›