Hacker Newsnew | past | comments | ask | show | jobs | submit | 41b696ef1113's commentslogin

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.


> you are incredibly likely to be able to compile it without any hoops

Nice.

Does that hold true for cross compiling to arm (Rpi specifically) and Android?


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.


Agreed. The first thing to do is figure out WTF is going on. This is perhaps the hardest kind of thing to do as a developer.


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.


But shouldn't the product be created for the typical end user and not the 1% of cinemaphiles with a blessed setup?

A pretty common complaint is that developers only test things on their latest generation i9, with unlimited ram, and 8k displays.


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.

[0] : https://en.wikipedia.org/wiki/Seat_belt


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:

https://www.curbsideclassic.com/automotive-histories/automot...


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?


Step 1. Find someone to pay you

Step 2. Repeat step 1


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.


It did not seem like that was the message? More just identifying a point where needs are met?


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.


The uri directive does expose stripping a suffix, but that's an internal rewrite, correct?

For any /foo/ /bar/ /baz/ I want to redirect to /foo, /bar, or /baz. Unless I'm missing something, this needs to be done like so right now:

  @trailing_slash path_regexp trailing_slash ^/(.*)/$
  redir @trailing_slash /{re.trailing_slash.1} 308


The uri directive can strip_prefix, strip_suffix, or do substring replacements: https://caddyserver.com/docs/caddyfile/directives/uri

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.

We actually have a special section in the docs all about enforcing trailing slashes, including external redirects: https://caddyserver.com/docs/caddyfile/patterns#trailing-sla...

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?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: