stevecrox

joined 10 months ago
 

I need help figuring out where I am going wrong or being an idiot, if people could point out where...

I have a server running Debian 12 and various docker images (Jellyfin, Home Assistant, etc...) controlled by portainer.

A consumer router assigns static Ip addresses by MAC address. The router lets me define the IP address of a primary/secondary DNS. The router registers itself with DynDNS.

I want to make this remotely accessible.

From what I have read I need to setup a reverse proxy, I have tried to follow various guides to give my server a cert for the reverse proxy but it always fails.

I figure the server needs the dyndns address to point at it but I the scripts pick up the internal IP.

How are people solving this?

[–] [email protected] 7 points 7 months ago (2 children)

Lays is called Walkers in the UK and the Sensations brand is still sold.

Here there are in my local supermarket. Personally I prefer the Sensation Thai Sweet Chilli nuts, they are the perfect thing while you wait for food to cook on the BBQ.

[–] [email protected] 0 points 8 months ago (4 children)

I wouldn't get massively excited.

Python is a scripting language, its shines when you want to write a stand alone file which takes an input and performs a task. Scripting languages are great to learn as a first language and so python is wonderful for non developers.

The issue you hit is the build management solutions for Python are kind of broken and these help support and encourage good development practice so a lot of Python projects end up a collection of scripts rather than a mature project. You can have good projects but...

In raw benchmarks Java has 90% of the performance of C/C++, but in reality Java is more performant because developers get bogged down in memory management on C/C++ and they get more time to optomise in Java as a result. I'm not sure where Rust will come out to be honest.

Python benchmarks at 50% the performance of Java, in reality I've found code ends up slightly worse because Python is procedural, library support and streaming is poorly supported.

Take library support, Spring really rose to prominese because of 'hibernate' which was a way to abstract talking to different databases through objects, you could switch from PostgreSQL to Oracle through config. Spring data has dumbed this down so I define a plain old Java object and Spring will generate everything I need.

Python expects you to hand craft SQL statements and every database extends SQL slightly differently, so i need to write SQL for every operation and manage/own it. So the win in being able to quickly read/write to a database (since you don't have to learn anything about Spring) is quickly ruined because of the all the boilerplate and error handling you now have to write.

[–] [email protected] 18 points 8 months ago (4 children)

Every programming languages has communities built around them.

Its becoming clear Rust solves a lot of C/C++ type problems and the embedded communities are definitely shifting over.

Apache is the primary community for Java, a quick look at their project list shows it's entirely web servers, data engineering and clustered projects for distributed computing.

Personally if you asked me to solve this problem I would use Spring Boot with various Spring libraries for talking to the caddy, user control, etc... Looking at the project, its exactly what they have done

[–] [email protected] 0 points 8 months ago

Uhh how?

The rate of new features/changes is far higher, uptime went through a bumpy transition but is back to normal. From an engineering perspective it supports my point.

Twitters issues are Elon scaring away advertisers/annoying governments/content creators through his hard line on free speech allowing an explosion in hate speech.

[–] [email protected] 9 points 9 months ago* (last edited 9 months ago) (4 children)

It isn't a good move.

A domain name can cost as little as £10, similarly most email services cost ~£5-£15 per person per month. Its normally pretty easy to link a domain to an email provider and doesn't cost anything other than time.

If a company can't be bothered to implement the most basic online branding people will make their assumptions and some will filter your company out because of it. With the cost to implement so low (e.g. £160 per year), even the loss/gain of a single customer would justify it.

[–] [email protected] 4 points 9 months ago (2 children)

I thought server side anti cheat was the most effective. Since it can't be modified by clients and tracks clients for impossible behaviour.

[–] [email protected] 8 points 9 months ago (2 children)

I wish a company would build 4.5"-5.5" and 5.5"-6.5" flagship phones, put as many features that make sense in each.

Then when you release a new flagship the last flagship devices become your 'mid range' and you drop the price accordingly, with your mid range dropping to budget the year after.

When Nokia had 15 different phones out at a time it made sense because they would be wildly different (size, shape, button layout, etc...).

These days everyone wants as large a screen as possible on a device that is comfortable to hold, we really don't need 15 different models with slightly different screen ratios.

[–] [email protected] 1 points 10 months ago* (last edited 10 months ago)

I actually researched my list, most the technologies were used internally for years and either publically released after better public alternatives had been adopted or it seems buzz reached me years after Google's first release. So I am wrong.

Between 2012-2015 I used to consult on Apache Ivy projects (ideally moving them to Maven and purging the insanity people had written). As a result I would get called in when projects had dependency issues.

The biggest culprits were Guava/GSon, projects would often choose to use them (because Google) and then would discover a bug that had been fixed in a later patch release (e.g. they used 2.2.1 and 2.2.2 had the fix). However the reason they used 2.2.1 was because a library they needed did. Bumping up the version usually caused things to break.

The standard solution was to ask'why' they needed Guava/GSon and everytime you would find they are usually some function found in one of the Apache Commons libraries. So I would pull down the commons library rewrite the bit (often they worked identically)

Fun side note in 2016-2017 I got called to consult on a lot of Gradle projects to fix the same kind of convoluted bespoke things people did with Apache Ivy. Ivy knew the Gradle 'feautres' were a massive headache in 2012 and told you to use Maven for those reasons. Ce La vie.

We tried using Protobuf in 2008 and it was worse than the Apache Axis for JSON conversion (which feels too harsh to say), similarly I had been using AMQP or Kafka for years and tried gRPC when it was released (google say 2016 but I am sure we tried in 2014) and it was worse in every metric I still don't understand why it exists.

I was using Vaadin in 2011 and honestly thought GWT was released in 2012. I had to use it in 2014 and the workflow, compile time and look of GWT is just worse than Vaadin.

[–] [email protected] 4 points 10 months ago

Plex has been baking in features like that to help you see what is on other streaming channels, etc..

Personally the whole point of Plex for me was it was a container for my existing DVD/Blu Ray collection, while Plex has added some really cool features. Increasingly they keep resetting the dashboard to try and force engagement with new features, it feels a bit user hostile and I've been switching to Jellyfin (same idea but entirely open source and self hosted).

From a discovery perspective, personally I've found good content tends to create its own word of mouth style buzz.

For example at the moment you can't go near twitter, reddit, work, BBC News, etc.. without someone talking about 'Mr Bates vs The Post Office'. Recently the risa community kept mentioning Babylon 5 so I picked up all 5 seasons for £20 and watched it through. Similarly the Risa community really seems to love Star Trek prodigy so I'll probably give that a go at some point.

view more: next ›