Having run an over powered desktop to enable my gaming hobby, I have been toying with putting a "thin client" on my desk and my beefy rig in the living room.
Computer performance has felt ~stagnant for the past decade. Given the number of platforms that build to be mobile friendly, there is increasingly less need to be constantly running a power hungry rig as my main configuration when I am spending most of my time browser the internet. If I want to "desktop game" I could stream from the living room to my desk in the event it is not a controller friendly experience.
The true real win of Rust. Knowing that you are incredibly likely to be able to compile it without any hoops. Random C/C++ project can still be a roll of the dice.
It is a 12 year old legacy product. What specification exists other than, "Yesterday it did X when I clicked the button, but now it does not do that anymore."
Maybe there are some underlying architectural problems that need to be addressed, but it would be impossible make those changes from the current situation. It sounds like it is impossible to even know what code is live vs sitting on the server. How do you even know you have a firm grasp on the current architecture when it is unclear what code is even running the product?
A lot of low hanging fruit to be addressed that will likely lead to meaningful improvements. Once the code is in better shape and some unfortunate legacy pattern is identified, than it can be considered time to re-tool the architecture.
The system is an enormous black box and this at least tells you what N things were being manipulated at time in point X. Easy to setup and gives just a bit of peace and mind if the thing keels over one day.
What is the typical end user? Is it you with your TV? Me with mine? My neighbor with their soundbar I can hear through the walls? The guy on the train with his airpods? There is no standard, its all over the place. You might as well engineer so it sounds good when people actually care enough to string together some half decent components than to take a shot in the dark at building around some audio spec that doesn't exist.
>...by not doing a offset test or picking literally anything but a GM X-frame car (notoriously bad at overlap crashed, even by 1950s standards)
So you are mad that they used a street legal car of the day to show that things have improved?
A fun historical fact I just discovered, "Ford offered seat belts as an option in 1955. These were not popular, with only 2% of Ford buyers choosing to pay for seatbelts in 1956" [0]. Which reads to me that many 1959 drivers would have been unlikely to have or use a seatbelt.
I think the point is that an X-frame is extremely weak, so they showed one of the worst cars in 1959 to be in a crash with; many other cars of the time had full perimeter frames:
It’s a useful piece of context but it’s not really like the x-frame was niche and cherry-picked for this example. They sold a lot of these things (the platform, not just bel-airs)
What is the basic process for even starting a business?
I have been kicking around an idea, and have thought about building a site. Strictly an off-hours, hobby amount of effort. I think I would be lucky to recoup DO hosting fees. Given that I only expect this to be a learning experience, but still want to operate as if it were a real business - how do I begin?
Yes. This is all. Don't do any paperwork or registrations or DBAs until you are actually making money. Worry about paperwork and technicalities later.
Of course, things will be a bit different if your business has to do with something regulated and potentially dangerous like electrical work or cutting hair.
My only complaint with it is this half-way json vs standard config file situation in which it finds itself. The documents push you to the json system, but most of the available documents are in the config system.
There's also some handy features that are only available in the JSON format. e.g. `strip_path_suffix` and `http_redirect` for the `rewrite` handler (https://github.com/caddyserver/caddy/issues/2011#issuecommen...), which would be a more ergonomic way to set a rule to strip trailing slashes than handling via regex.
While it is true that some features are only possible via JSON config, the ones you mentioned are available in the Caddyfile. See the uri directive which lets you strip a suffix, and redir which performs Location redirects. Also, the issue you linked to is from an early beta of Caddy v2, and the discussion and config there no longer applies.
It can also do regex replacements on the path portion of the URI. And yes, these are internal rewrites since uri is a directive that wires up the rewrite handler.
Note that the file_server will automatically enforce canonical URIs, including redirecting to add or remove the trailing slash according to whether the resource is a file or a directory.
To redirect many unspecified paths, your regex is probably the best way to do it for now. Feel free to open an issue to propose an alternative!
Thanks! I'd read all that documentation and came to the same conclusion. I'm using disable_canonical_uris as I prefer avoiding trailing slashes even for directories (as I see it, page_name/index.html layout is an implementation detail, and I'd like Caddy to expose it as /page_name).
I'll follow up with issues tomorrow (I think an issue for updating the common caddyfile patterns bit on the website also makes sense - I suspect a blanket rule for removing trailing slashes is more likely to be a common pattern people seek a solution for than removing a trailing slash on explicitly enumerated paths).
The problem is, in the browser, relative URLs (like on CSS/JS assets and such) won't be relative to your index.html if you remove the trailing slash, and they'll instead be relative to the parent directory. That can mess things up.
Of course if you're using absolute paths in your HTML then this isn't a problem, but it does become a problem if you want to move to serving this same site from a subpath, because then your absolute paths won't be constrained to this subpath.
JSON is the "machine readable" config language for Caddy, but a great majority of users are using the Caddyfile. What are you confused about specifically?
Computer performance has felt ~stagnant for the past decade. Given the number of platforms that build to be mobile friendly, there is increasingly less need to be constantly running a power hungry rig as my main configuration when I am spending most of my time browser the internet. If I want to "desktop game" I could stream from the living room to my desk in the event it is not a controller friendly experience.